gpt4 book ai didi

hadoop - 使用 S3DistCp 从 HDFS 传输到 S3 时删除目录级别

转载 作者:可可西里 更新时间:2023-11-01 14:19:36 28 4
gpt4 key购买 nike

我有一个 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

我正在尝试使用 S3DistCp 将这些文件复制到 S3。我正在使用 --groupBy .*(identifier[0-9]).* 选项根据标识符合并文件。该组合有效,但在复制到 S3 时,文件夹也会被复制。最终输出为:

/s3bucket/identifier1/identifier1
/s3bucket/identifier2/identifier2
/s3bucket/identifier3/identifier3

有没有办法在没有第一个文件夹的情况下复制这些文件?理想情况下,我在 S3 中的输出如下所示:

/s3bucket/identifier1
/s3bucket/identifier2
/s3bucket/identifier3

我考虑过的另一种解决方案是在复制到 S3 之前使用 HDFS 命令将这些文件从它们的目录中提取出来。这是一个合理的解决方案吗?

谢谢!

最佳答案

我找到的解决方案是在使用 s3distcp 之前使用 distcp 将这些文件从目录中取出:

hadoop distcp -update /tmp/data/** /tmp/grouped

然后,我更改了 s3distcp 脚本以将数据从 /tmp/grouped 移动到我的 S3 存储桶中。

关于hadoop - 使用 S3DistCp 从 HDFS 传输到 S3 时删除目录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29356964/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com