我正在使用spark作爲AVRO文件寫入s3。它被保存爲單個文件,但我想在寫入時將其分塊爲多個文件。我該如何通過spark將塊寫入S3?
我用:
df.coalesce(6).write.json(path)
但仍然是保存爲單個文件。
任何幫助將不勝感激!
謝謝。
我正在使用spark作爲AVRO文件寫入s3。它被保存爲單個文件,但我想在寫入時將其分塊爲多個文件。我該如何通過spark將塊寫入S3?
我用:
df.coalesce(6).write.json(path)
但仍然是保存爲單個文件。
任何幫助將不勝感激!
謝謝。
您的RDD在調用coalesce(6)
之前可能只有一個分區。
COALESCE(numPartitions):
coalesce()
如果要求增加他們不只是減少分區的數量時工作,但什麼都不做減少分區的數量在RDD到numPartitions
你可以嘗試使用repartition(6)
代替,這也將工作如果分區數量的增加:
重新分區(numPartitions):隨機對RDD中的數據進行重新組合,以創建更多或更少的分區並在其間進行平衡。這總是通過網絡混洗所有數據。
你可以看看這個包可能是它會幫助ühttps://spark-packages.org/package/knoldus/spark-s3 –