dbfs使用sparkcsv寫數據,我打算搬到我的筆記本電腦通過標準s3複製命令。
默認為火花csv是將輸出寫入分區。我可以迫使其單個分區,但是真的想知道如果有一個通用的方法。
在hadoop文件係統,我簡單地運行之類的
hadoop fs -getmerge / user / hadoop / dir1 /。/ myoutput.txt
從內部等效磚平台嗎?Beplay体育安卓版本
如果數據不超過幾GB然後你可以合並數據集之前寫出來。
喜歡的東西:
df.coalesce (1) .write.format .save (“com.databricks.spark.cvs”)(“路徑……”)
然後使用dbutils複製到一個文件。fs命令:
dbutils.fs.cp(“路徑…路徑”、“. . . . . . csv”)
任何建議如果超過幾GB數據嗎?顯然令人擔憂的是調用合並將所有數據到驅動內存。
這是可怕的建議。不要使用.coalesce的DataFrame方法(1)或.repartition(1)除了非常小的數據集。相反,使用hdfs合並機製通過FileUtils.copyMerge ()。這個解決方案在StackOverflow正確識別方法:
看到我的裝飾這個答案,填寫……在“路徑…”: