1
我需要將數據幀上傳到S3存儲桶,但我沒有在存儲桶上具有刪除權限。有什麼辦法可以避免在S3上創建這個臨時目錄?也許火花的任何方式使用本地FS用於_temporary目錄,然後將最終生成的文件上傳到S3存儲桶或完全避免_temporary目錄。Spark避免在S3中創建_temporary目錄
在此先感謝。
我需要將數據幀上傳到S3存儲桶,但我沒有在存儲桶上具有刪除權限。有什麼辦法可以避免在S3上創建這個臨時目錄?也許火花的任何方式使用本地FS用於_temporary目錄,然後將最終生成的文件上傳到S3存儲桶或完全避免_temporary目錄。Spark避免在S3中創建_temporary目錄
在此先感謝。
號
數據被寫入到_temporary/jobAttemptID/taskAttemptID/
,然後任務/作業過程中重命名爲目標目錄提交。
你可以做的是寫入你的工作hdfs,然後複製使用distcp。這有很多好處,尤其是「使用一致的文件系統,您不會因爲s3n或s3a連接器而導致數據丟失的風險」
我在分區寫入hdfs期間看到類似的行爲,即df .write.partitionBy(keys).parquet('/ location') 這裏有替代方法嗎? – autodidacticon
使用臨時目錄以便任務可以並行運行,並通過重試來修復故障。由於rename()在HDFS上是快速和原子的,所以它沒有什麼可擔心的 –