首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EMR如何将文件合并为一个文件?

EMR如何将文件合并为一个文件?
EN

Stack Overflow用户
提问于 2012-08-21 21:10:56
回答 1查看 2.7K关注 0票数 6

我已经将大的二进制文件分割成(2 2Gb)块,并将其上传到亚马逊S3。现在,我想将其连接回一个文件,并使用我的自定义进行处理

我试着逃走

代码语言:javascript
复制
elastic-mapreduce -j $JOBID -ssh \
"hadoop dfs -cat s3n://bucket/dir/in/* > s3n://bucket/dir/outfile"  

但由于-cat将数据输出到我的本地终端而失败-它不能远程工作……

我怎么能做到这一点?

附言:我试着把cat当做一个流媒体MR作业来运行:

代码语言:javascript
复制
den@aws:~$ elastic-mapreduce --create --stream --input s3n://bucket/dir/in \
--output s3n://bucket/dir/out --mapper /bin/cat --reducer NONE

此作业已成功完成。但。我在dir/in中有3个文件部分-现在我在/dir/out中有6个部分

代码语言:javascript
复制
part-0000
part-0001
part-0002
part-0003
part-0004
part-0005

和文件_SUCCESS的课程,这不是我的输出的一部分...

所以。如何在文件拆分前加入?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 16:19:32

所以。我找到了一个解决方案。也许不是更好--但它是有效的。

所以。我已经使用bootstrap操作创建了一个EMR作业流

代码语言:javascript
复制
--bootstrap-action joinfiles.sh

在joinfiles.sh中,我使用wget从S3下载文件片段,使用常规cat a b c> abc连接它们。

之后,我添加了一个将结果复制回S3的s3distcp。(样本可以在https://stackoverflow.com/a/12302277/658346上找到)。这就是全部。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12055595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档