问题标签 [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 投票
3 回答
3720 浏览

amazon-web-services - S3-Dist-Cp 在 EMR5 上失败

我在 emr-5.0.0 版本中遇到了 s3-dist-cp 命令的问题。在我的应用程序中,我需要将一些文件从 hdfs 推送到 S3。我正在使用 s3-dist-cp 命令来实现这一点。它在 emr-4.2.0 中运行良好。但它不适用于 emr-5.0.0。如果我手动运行命令,它工作正常。但它在我的应用程序中失败了。我没有对我的应用程序进行任何更改以在 emr-5 上运行它。

如果我需要使用 emr-5,是否需要进行任何更改?我们在 emr-5 中使用 s3-dist-cp 命令的方式有什么变化吗?

我正在使用以下命令:

0 投票
0 回答
435 浏览

amazon-web-services - 使用 s3-dist-cp 减小文件大小(--targetSize 不起作用)

我正在 AWS EMR (AMI 5.2) 上运行作业。我在 S3 中有大文件,我想使用s3-dist-cp. 这是我正在使用的命令:

我没有收到任何错误,并且分组似乎工作正常(即使使用其他正则表达式)。但是,目标大小没有任何作用。该文件只是被复制到目的地而不是被拆分。本例中的源文件为 50MB。

0 投票
2 回答
1624 浏览

pyspark - 如何在 EMR 5.x 的 pyspark shell / pyspark 脚本中运行“s3-dist-cp”命令

我在我的 pyspark 脚本中运行 s3-dist-cp" 命令时遇到了一些问题,因为我需要将一些数据从 s3 移动到 hdfs 以提高性能。所以我在这里分享这个。

0 投票
1 回答
1265 浏览

apache-spark - 将 S3DistCp 添加到 PySpark

我正在尝试将 S3DistCp 添加到我的本地独立 Spark 安装中。我已经下载了 S3DistCp:

还有 AWS 开发工具包:

我提取了 AWS 开发工具包:

然后添加s3distcp.jar到我的spark-defaults.conf

然后我将 AWS 开发工具包及其所有依赖项添加到 $LIBJARS 和 $HADOOP_CLASSPATH

但是当我尝试启动 pyspark shell 时:

我收到以下错误:

如果我从错误中删除 s3distcp.jarspark-defaults.conf就会消失。似乎没有太多关于如何部署它的文档,因为它是作为 EMR 的一部分提供的。

0 投票
2 回答
1447 浏览

amazon-web-services - 从 s3 复制到 hdfs 时 s3Distcp 慢

我正在使用 s3disctcp 将 31,16,886 个文件(300 GB)从 S3 复制到 HDFS,仅复制 10,48,576 个文件需要 4 天。我终止了工作,需要了解如何减少这个时间或我在做什么错误的。

它在 AWS EMR 机器上。

0 投票
1 回答
712 浏览

amazon-web-services - 在 EMR 上推导运行时的 HDFS 路径

我已经使用 EMR 步骤生成了一个 EMR 集群,用于将文件从 S3 复制到 HDFS,反之亦然,使用 s3-dist-cp。这个集群是一个按需集群,所以我们不跟踪 ip。

第一个 EMR 步骤是: hadoop fs -mkdir /input - 此步骤已成功完成。

第二个 EMR 步骤是:以下是我正在使用的命令:

s3-dist-cp --s3Endpoint=s3.amazonaws.com --src=s3://<bucket-name>/<folder-name>/sample.txt --dest=hdfs:///input- 这一步失败了

我收到以下异常错误:

错误:java.lang.IllegalArgumentException: java.net.UnknownHostException: sample.txt at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:378) at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies .java:310) 在 org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176) 在 org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:678) 在 org.apache.hadoop.hdfs .DFSClient.(DFSClient.java:619) at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2717) at org .apache.hadoop.fs.FileSystem.access$200(FileSystem.java:93) at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2751) at org.apache.hadoop.fs.FileSystem$缓存。get(FileSystem.java:2733) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:377) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) at com.amazon .elasticmapreduce.s3distcp.CopyFilesReducer.reduce(CopyFilesReducer.java:213) 在 com.amazon.elasticmapreduce.s3distcp.CopyFilesReducer.reduce(CopyFilesReducer.java:28) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java :171) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:390) 在 org.apache.hadoop.mapred 的 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:635)。 YarnChild$2.run(YarnChild.java:164) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation .doAs(用户组信息.java:1698) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) 引起:java.net.UnknownHostException:sample.txt

但是这个文件确实存在于 S3 上,我可以通过 EMR 上的 spark 应用程序读取它。

0 投票
1 回答
11737 浏览

amazon-s3 - s3distcp 在单个命令中将文件和目录从 HDFS 复制到 S3

我在 HDFS 中有以下 2 个文件和 1 个目录。

-rw-r--r-- 1 hadoop hadoop 11194859 2017-05-05 19:53 hdfs:///outputfiles/abc_output.txt
drwxr-xr-x - hadoop hadoop 0 2017-05-05 19:28 hdfs: ///outputfiles/sample_directory
-rw-r--r-- 1 hadoop hadoop 68507436 2017-05-05 19:55 hdfs:///outputfiles/sample_output.txt

我想通过单个命令将 gzip 格式的 abc_output.txt 和 sample_directory 从 HDFS 复制到 S3 上。我不希望在 S3 上合并文件。

我的 S3 存储桶应包含以下内容:abc_output.txt.gzip sample_directory.gzip

我尝试了以下方法:

s3-dist-cp --s3Endpoint=s3.amazonaws.com --src=hdfs:///outputfiles/ --dest=s3://bucket-name/outputfiles/ --outputCodec=gzip

但这会将所有文件和文件夹从源复制到目标。

通过在 EMR 上引用 在运行时推断 HDFS 路径,我还尝试了以下命令:

s3-dist-cp --s3Endpoint=s3.amazonaws.com --src=hdfs:///outputfiles/ --dest=s3://bucket-name/outputfiles/ --srcPattern=.*abc_output.txt。样本目录。--outputCodec=gzip 但这失败了。

0 投票
0 回答
441 浏览

s3distcp - s3distcp - 需要很长时间才能将大量小文件从一个存储桶复制到另一个存储桶

我需要将大量小文件从一个 S3 存储桶复制到另一个存储桶。我正在使用 AWS 提供的 S3-Dist-Cp 命令。

现在,这个命令的问题是复制所有小文件并合并它们需要很长时间。

注意 - 源存储桶正在通过其他工作不断写入新文件,我认为 s3-dist-cp 永远不会捕获最后一个文件。

这个解决方案有什么解决方法吗?Spark 作业将使用目标存储桶来处理这些文件。

0 投票
0 回答
380 浏览

java - 是否有任何 aws-java-sdk 可以做 s3-distcp?

我想从我的代码中执行 s3-distcp 。

我的项目基于 java,我使用 aws-java-sdk 来启动集群并将 hadoop 作业提交到集群。

由于需要将作业的输出复制到 s3,我正在寻找一个 sdk,它将接收源/目标路径作为参数并使用我设置的凭据执行 s3-distcp。

谢谢,

0 投票
2 回答
699 浏览

hadoop - Hadoop distcp - 可以保持每个文件相同(保持文件大小)?

当我运行一个简单的 distcp 命令时:

src-dir我对dest-dir的大小(以字节为单位)略有不同

我的问题是:

  1. 是什么导致了这种差异?我的 dest 目录的内容是否仍然与原始目录相同?
  2. 最重要的是 - 我是否可以设置参数以确保每个文件看起来与其 src 对应部分完全相同(即相同的文件大小)?