文件串联的 s3DistCp 顺序
s3DistCp order of concatenation of files
我正在尝试使用 AWS EMR 上的 S3DistCp 工具将多个文件(1.txt、2.txt、3.txt)合并到一个 gzip 文件中。我正在使用 groupBy 标志。现在,输出看起来像是按名称倒序排列的源文件。
因此内容的结果顺序是3.txt、2.txt然后是1.txt。
这是设计使然吗?有没有办法允许按照创建文件的顺序(按创建时间)进行串联?
是的,这似乎是自 s3-dist-cp 推出以来的设计。每个 s3-dist-cp 作业都会从 --src 位置创建一个清单文件。
要解决此问题,您可以:
- 使用 --outputManifest 创建一个。
- 然后修改此文件以反转顺序。
- 在复制操作期间提供此文件 --copyFromManifest 以实现您的目标。
https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html
我正在尝试使用 AWS EMR 上的 S3DistCp 工具将多个文件(1.txt、2.txt、3.txt)合并到一个 gzip 文件中。我正在使用 groupBy 标志。现在,输出看起来像是按名称倒序排列的源文件。
因此内容的结果顺序是3.txt、2.txt然后是1.txt。
这是设计使然吗?有没有办法允许按照创建文件的顺序(按创建时间)进行串联?
是的,这似乎是自 s3-dist-cp 推出以来的设计。每个 s3-dist-cp 作业都会从 --src 位置创建一个清单文件。
要解决此问题,您可以:
- 使用 --outputManifest 创建一个。
- 然后修改此文件以反转顺序。
- 在复制操作期间提供此文件 --copyFromManifest 以实现您的目标。
https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html