我有一个Pig脚本(使用稍微修改的MultiStorage)来转换某些数据。运行脚本后,我对HDFS的格式如下数据:使用S3DistCp从HDFS传输到S3时删除目录级别
/tmp/data/identifier1/indentifier1-0,0001
/tmp/data/identifier1/indentifier1-0,0002
/tmp/data/identifier2/indentifier2-0,0001
/tmp/data/identifier3/indentifier3-0,0001
我试图用S3DistCp将这些文件复制到S3。我正在使用--groupBy .*(identifier[0-9]).*
选项来根据标识符合并文件。组合起作用,但是当复制到S3时,文件夹也被复制。结束输出是:
/s3bucket/identifier1/identifier1
/s3bucket/identifier2/identifier2
/s3bucket/identifier3/identifier3
有没有办法复制这些文件没有第一个文件夹?理想情况下,我在S3输出会是什么样子:
/s3bucket/identifier1
/s3bucket/identifier2
/s3bucket/identifier3
我考虑的另一个解决方案是使用HDFS命令复制到S3前拉这些文件他们的目录。这是一个合理的解决方案?
谢谢!
你可以发布你的命令吗? – 2015-03-31 04:48:27
假设你的意思是通过s3distcp命令,这里是传递给EMR步骤的参数:'--s3Endpoint s3.amazonaws.com --src hdfs:/// tmp/data/--dest s3:// output --groupBy 。* /(标识符)。*' – NolanDC 2015-03-31 13:20:37
此时s3distcp不能压扁这些目录。请访问https://forums.aws.amazon.com/thread.jspa?messageID=479023获取功能请求。 – ChristopherB 2015-04-01 02:58:54