我有一个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,(.*)
选项来合并文件。