我有一个问题,当上传一个大文件(大于5gb)从hdfs到s3。有没有一种方法可以将文件直接从hdfs上传到s3,而不必下载到本地文件系统并使用multipart?
f4t66c6m1#
如果您使用的是hadoop2.7.1或更高版本,请使用s3a://文件系统与s3对话。它支持多部分上传,这是您在这里需要的。更新:2016年9月我要补充的是,我们正在为Hadoop2.8重新设计s3a输出流;当前的one在堆中缓冲多部分上传,当您生成批量数据的速度超过网络推送到s3的速度时,就会崩溃。
axr492tv2#
要在hdfs和s3之间复制数据,应该使用 s3DistCp . s3DistCp 针对aws进行了优化,并跨s3存储桶并行高效地复制大量文件。用于 s3DistCp ,您可以参考以下文档:http://docs.aws.amazon.com/elasticmapreduce/latest/developerguide/usingemr_s3distcp.html的代码 s3DistCp 可在以下位置获取:https://github.com/libin/s3distcp
s3DistCp
2条答案
按热度按时间f4t66c6m1#
如果您使用的是hadoop2.7.1或更高版本,请使用s3a://文件系统与s3对话。它支持多部分上传,这是您在这里需要的。
更新:2016年9月
我要补充的是,我们正在为Hadoop2.8重新设计s3a输出流;当前的one在堆中缓冲多部分上传,当您生成批量数据的速度超过网络推送到s3的速度时,就会崩溃。
axr492tv2#
要在hdfs和s3之间复制数据,应该使用
s3DistCp
.s3DistCp
针对aws进行了优化,并跨s3存储桶并行高效地复制大量文件。用于
s3DistCp
,您可以参考以下文档:http://docs.aws.amazon.com/elasticmapreduce/latest/developerguide/usingemr_s3distcp.html的代码
s3DistCp
可在以下位置获取:https://github.com/libin/s3distcp