问题标签 [s3distcp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
542 浏览

amazon-web-services - S3DistCp (AWS-EMR) - deleteOnSuccess 选项在源存储桶上创建文件

我正在开发 AWS-EMR 集群并添加了一个运行 S3DISTCP 的步骤(https://docs.aws.amazon.com/es_es/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html),这是为了复制对象来自 s3 存储桶(目标/目的地也是 s3 存储桶)。

对象被正确复制到目标存储桶,--deleteOnSuccess并按预期使用从源存储桶中删除的选项复制对象。这里的问题是,对于每个包含复制对象的文件夹(在源存储桶上),都会在源存储桶的根目录创建一个新文件(这只发生在--deleteOnSuccess选项中)。

我使用的参数是:

在这种情况下,如果 ins3://MY_SOURCE_BUCKET/包含:

如果我只想复制和删除s3://MY_SOURCE_BUCKET/folder_a/b.txt,一旦 S3DISTCP 运行完成,源存储桶看起来像:

有没有办法避免 S3DISTCP 在源存储桶上创建这个新文件?

0 投票
1 回答
173 浏览

amazon-s3 - AWS-EMR-S3DISTCP - aws 是否对 s3 操作收费?

我正在查看s3distcp的文档(https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html),但我找不到任何明确提及每个操作成本的网站。这是一个示例场景:

  1. 我有一个包含10,000 个对象的桶。
  2. 具有 3 个实例的 EMR 集群将用于执行s3distcp
  3. s3distcp启用了--deleteOnSuccess选项。
  4. 源存储桶和目标存储桶以及 EMR位于同一账户和区域中。

问题是:

  1. 除了 EMR 使用(基于实例类型、经过的时间等)之外,s3 操作是否有额外的成本(即,如果我移动了所有 10K 对象,是否意味着 10K COPY 请求)?或者计费将仅与 EMR 成本相关联?
0 投票
1 回答
119 浏览

amazon-s3 - s3distcp 因“mapreduce_shuffle 不存在”而失败

当我在下面运行命令时,

我收到有关 auxService 的错误。

在许多 QnA 中,我找到了类似此 链接的解决方案。

但是nodemanager没有进程。

我的 EMR 是通过 emr-5.28.0 的快捷菜单创建的。有没有人知道这个问题?

谢谢!

0 投票
1 回答
188 浏览

apache-spark-sql - 使用 s3-dist-cp 的 JSON 聚合用于 Spark 应用程序消费

我在 AWS EMR 上运行的 spark 应用程序从存储在 S3 中的 JSON 数组加载数据。然后通过 Spark 引擎处理从中创建的 Dataframe。

我的源 JSON 数据采用多个 S3 对象的形式。我需要将它们压缩成一个 JSON 数组,以减少从我的 Spark 应用程序中读取的 S3 对象的数量。我尝试使用“s3-dist-cp --groupBy”,但结果是连接的 JSON 数据,它本身不是有效的 JSON 文件,所以我无法从中创建数据框。

这里有一个简化的例子来进一步说明它。

源数据:

S3 对象 Record1.json :{“名称”:“约翰”,“城市”:“伦敦”}

S3 对象 Record2.json :{“名称”:“玛丽”,“城市”:“巴黎”}

汇总输出

{“姓名”:“玛丽”,“城市”:“巴黎”}{“姓名”:“约翰”,“城市”:“伦敦”}

我需要的 :

[{“姓名”:“约翰”,“城市”:“伦敦”},{“姓名”:“玛丽”,“城市”:“巴黎”}]

申请代码供参考

预期产出

+----+------+

|姓名| 城市|

+----+------+

|约翰|伦敦|

|玛丽| 巴黎|

+----+------+

s3-dist-cp 是我需要的正确工具吗?对于将由 Spark 应用程序加载为 Dataframe 的 json 数据聚合的任何其他建议?

0 投票
1 回答
118 浏览

hadoop - -Dmapred.job.name 不适用于 s3-dist-cp 命令

我想使用 s3-dist-cp 将一些文件从 emr-hdfs 复制到 s3 存储桶,我已经从“EMR 主节点”尝试了这个 cmd:

这个命令执行得很好,但是当我在纱线资源管理器 UI 中检查作业名称时,它显示如下: S3DistCp hdfs:///user/hadoop/abc **->** s3://my_bucket/my_key/

而预期的工作名称应该是my_copy_job

感谢任何帮助,!

注意: 当我使用此选项运行 hadoop distcp 时-Dmapred.job.name=my_copy_job,它会在 yarn RM UI 中正确显示作业名称,但作业最终会失败

0 投票
2 回答
174 浏览

hadoop - 从 HDFS 加载到 S3 时如何解压缩文件?

我有lzo格式的csv 文件,HDFS我想将这些文件加载​​到 s3 中,然后加载到雪花中,因为雪花不提供 csv 文件格式的 lzo 压缩,我需要在将这些文件加载​​到 s3 时动态转换它。

0 投票
0 回答
439 浏览

apache-spark - 如何将大量较小的文件从 EMR (Hdfs) 复制到 S3 存储桶?

我有一个包含以下详细信息的大型 csv 文件:

我正在尝试在 AWS EMR 上使用 Apache Spark(分布式计算引擎)处理这个 csv 文件。我正在根据其中一个 Timestamp数据类型的列对这个 csv 文件进行分区。

Spark 最终创建了近 120 万个分区文件夹,每个文件夹下都有一个输出 .orc 文件,大小在 0 到 5 KB 之间。所有这些文件夹/文件都由 Spark 在 EMR 中的 HDFS 上写入。

我们需要将这些大量较小的文件从 EMR(HDFS) 复制到 S3 存储桶,我使用了 s3-dist-cp,它在近 3-4 分钟内成功复制了它们。

这是使用 s3-dist-cp 命令实用程序复制大量小文件的最佳做法吗?还是有其他替代方法?

0 投票
1 回答
269 浏览

amazon-web-services - Performance issue with AWS EMR S3DistCp

I am using S3DistCp on an EMR cluster in order to aggregate around 200K small files (for a total of 3.4GB) from a S3 bucket to another path in the same bucket. It is working but it is extremely slow (around 600MB transferred after more than 20 minutes).

Here is my EMR configuration:

The command:

Am I missing something ? I have read that S3DistCp can transfer a lot of files in a blink but I can't figure how. Both EMR and bucket are in the same region by the way.

Thank you.

0 投票
0 回答
397 浏览

amazon-web-services - 使用 S3DistCp 覆盖 S3 中的现有文件

每天运行后,我正在尝试使用 S3-Dist-Cp 命令将日志文件从 EMR 集群写入我的 S3 存储桶。如果该文件(同名)已存在于 S3 文件中,S3-Dist-Cp 将写入一个新文件并在文件名后附加一个数字。

有没有办法可以使用 S3-Dist-Cp 覆盖 S3 中的现有文件(我没有看到来自 AWS 的 S3DistCp 文档的 -overwrite 标志或 -delete 标志)?

0 投票
0 回答
129 浏览

amazon-s3 - 如何将文件从 s3 复制到 s3 同一个文件夹?

我正在尝试使用以下命令将日志文件从 s3 合并到 s3。

我有以下文件

预期的结果是

但我收到以下错误

以下命令正在运行。(将目标路径更改为其他路径)