文件串联的 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 位置创建一个清单文件。

要解决此问题,您可以:

  1. 使用 --outputManifest 创建一个。
  2. 然后修改此文件以反转顺序。
  3. 在复制操作期间提供此文件 --copyFromManifest 以实现您的目标。

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html