问题标签 [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.
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 在源存储桶上创建这个新文件?
amazon-s3 - AWS-EMR-S3DISTCP - aws 是否对 s3 操作收费?
我正在查看s3distcp的文档(https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html),但我找不到任何明确提及每个操作成本的网站。这是一个示例场景:
- 我有一个包含10,000 个对象的桶。
- 具有 3 个实例的 EMR 集群将用于执行s3distcp。
- s3distcp启用了--deleteOnSuccess选项。
- 源存储桶和目标存储桶以及 EMR位于同一账户和区域中。
问题是:
- 除了 EMR 使用(基于实例类型、经过的时间等)之外,s3 操作是否有额外的成本(即,如果我移动了所有 10K 对象,是否意味着 10K COPY 请求)?或者计费将仅与 EMR 成本相关联?
amazon-s3 - s3distcp 因“mapreduce_shuffle 不存在”而失败
当我在下面运行命令时,
我收到有关 auxService 的错误。
在许多 QnA 中,我找到了类似此 链接的解决方案。
但是nodemanager没有进程。
我的 EMR 是通过 emr-5.28.0 的快捷菜单创建的。有没有人知道这个问题?
谢谢!
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 数据聚合的任何其他建议?
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 中正确显示作业名称,但作业最终会失败
hadoop - 从 HDFS 加载到 S3 时如何解压缩文件?
我有lzo
格式的csv 文件,HDFS
我想将这些文件加载到 s3 中,然后加载到雪花中,因为雪花不提供 csv 文件格式的 lzo 压缩,我需要在将这些文件加载到 s3 时动态转换它。
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 命令实用程序复制大量小文件的最佳做法吗?还是有其他替代方法?
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.
amazon-web-services - 使用 S3DistCp 覆盖 S3 中的现有文件
每天运行后,我正在尝试使用 S3-Dist-Cp 命令将日志文件从 EMR 集群写入我的 S3 存储桶。如果该文件(同名)已存在于 S3 文件中,S3-Dist-Cp 将写入一个新文件并在文件名后附加一个数字。
有没有办法可以使用 S3-Dist-Cp 覆盖 S3 中的现有文件(我没有看到来自 AWS 的 S3DistCp 文档的 -overwrite 标志或 -delete 标志)?
amazon-s3 - 如何将文件从 s3 复制到 s3 同一个文件夹?
我正在尝试使用以下命令将日志文件从 s3 合并到 s3。
我有以下文件
预期的结果是
但我收到以下错误
以下命令正在运行。(将目标路径更改为其他路径)