我正在使用spark作为AVRO文件写入s3。它被保存为单个文件,但我想在写入时将其块化为多个文件。
我用过:
df.coalesce(6).write.json(path)
但它仍然保存为单个文件。
任何帮助将不胜感激!
感谢!
答案 0 :(得分:0)
您的RDD可能在coalesce(6)
调用之前只有一个分区。
coalesce()
仅在减少分区数量时起作用,但如果要求增加它们则不执行任何操作:
coalesce(numPartitions):将RDD中的分区数减少到numPartitions
您可以尝试使用repartition(6)
代替,如果分区数量增加也会有效:
重新分区(numPartitions):随机重新调整RDD中的数据,以创建更多或更少的分区并在它们之间进行平衡。这总是随机播放网络上的所有数据。