Nol*_*nDC 5 hadoop amazon-s3 apache-pig hdfs emr
我有一个Pig脚本(使用稍微修改过的MultiStorage)来转换一些数据.脚本运行后,我在HDFS上有以下格式的数据:
/tmp/data/identifier1/indentifier1-0,0001
/tmp/data/identifier1/indentifier1-0,0002
/tmp/data/identifier2/indentifier2-0,0001
/tmp/data/identifier3/indentifier3-0,0001
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用S3DistCp将这些文件复制到S3.我正在使用该--groupBy .*(identifier[0-9]).*
选项根据标识符组合文件.组合有效,但复制到S3时,文件夹也会被复制.最终输出是:
/s3bucket/identifier1/identifier1
/s3bucket/identifier2/identifier2
/s3bucket/identifier3/identifier3
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有第一个文件夹的情况下复制这些文件?理想情况下,我在S3中的输出看起来像:
/s3bucket/identifier1
/s3bucket/identifier2
/s3bucket/identifier3
Run Code Online (Sandbox Code Playgroud)
我考虑过的另一个解决方案是在复制到S3之前使用HDFS命令将这些文件从其目录中拉出.这是合理的解决方案吗?
谢谢!
我找到的解决方案是distcp
在使用之前将这些文件从目录中取出s3distcp
:
hadoop distcp -update /tmp/data/** /tmp/grouped
Run Code Online (Sandbox Code Playgroud)
然后,我更改了s3distcp
脚本以将数据移至/tmp/grouped
我的 S3 存储桶中。
归档时间: |
|
查看次数: |
1439 次 |
最近记录: |