2014-09-13 127 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,(.*)选项来合并文件。