如何将大文件从HDFS上传到S3

时间:2016-01-07 20:29:28

标签: hadoop amazon-web-services amazon-s3 hdfs

将大文件(大于5GB)从HDFS上传到S3时出现问题。有没有办法将文件直接从HDFS上传到S3而无需将其下载到本地文件系统并使用multipart?

2 个答案:

答案 0 :(得分:3)

要在HDFS和S3之间复制数据,您应该使用s3DistCps3DistCp针对AWS进行了优化,可以跨S3存储桶并行地高效复制大量文件。

有关s3DistCp的使用,您可以在此处参阅文档:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_s3distcp.html

s3DistCp的代码可在此处找到:https://github.com/libin/s3distcp

答案 1 :(得分:2)

如果您使用的是Hadoop 2.7.1或更高版本,请使用s3a://文件系统与S3通信。它支持多部分上传,这是您需要的。

更新:2016年9月

我应该补充一点,我们正在为Hadoop 2.8重新编写S3A输出流工作;当前的一个缓冲区在堆中缓冲多部分上传,当您生成批量数据的速度超过网络可以推送到s3时,它会倒下。

相关问题