2014-09-13 128 views
2

我有一個hadoop作業,輸出很多部分到hdfs例如某個文件夾。如何將多個文件從hdfs上傳到單個s3文件?

例如:

/output/s3/2014-09-10/part... 

什麼是最好的方式,使用S3的Java API上傳那些部分勁兒文件中的S3

例如

s3:/jobBucket/output-file-2014-09-10.csv 

作爲一個可能的解決方案可以選擇合併部件並將結果寫入hdfs單個文件,但這會創建雙I/O。 採用單減速不是選項以及

感謝,

回答

0

嘗試使用FileUtil#copyMerge方法,它允許您在兩個文件系統之間複製數據。我還發現S3DistCp tool可以將數據從HDFS複製到Amazon S3。您可以指定--groupBy,(.*)選項來合併文件。