我在spark中有一个由列ip
分区的数据集。现在我想把这个数据集分成2个,并在HDFS中写入,这样,如果总分区是100
,即ip=1 to ip=100
,那么每个HDFS目录最终应该包含50个分区。
输入:
mydata/
mydata/ip=1
mydata/ip=2
mydata/ip=3
mydata/ip=4
.
.
mydata/ip=101
结果
mydata1/
mydata1/ip=1
mydata1/ip=3
.
.
mydata1/ip=50
mydata2/
mydata2/ip=51
mydata2/ip=4
mydata2/ip=100
此外,在编写如何确保每个目录mydata1和mydata2包含大小相等的数据分布时。这意味着两个目录都应该包含例如25Gb或数据,不应该出现mydata1包含1GB而mydata2包含49GB 的情况
感谢
是的,您可以使用桶装。阅读有关压版的更多信息:https://dwgeek.com/spark-sql-bucketing-on-dataframe-examples.html/