我有一個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。 採用單減速不是選項以及
感謝,
我有一個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。 採用單減速不是選項以及
感謝,
使用Java HDFS API來讀取這些文件,然後使用標準的Java流j類的東西轉換爲InputStream
,然後用
又見
嘗試使用FileUtil#copyMerge方法,它允許您在兩個文件系統之間複製數據。我還發現S3DistCp tool可以將數據從HDFS複製到Amazon S3。您可以指定--groupBy,(.*)
選項來合併文件。