2

我有一个 jar 文件,它在 jar 中的方法中提供给 spark-submit.With 。我正在尝试做一个

Import sys.process._
s3-dist-cp —src hdfs:///tasks/ —dest s3://<destination-bucket>

我还与 master 一起在所有药膏上安装了 s3-dist-cp。应用程序启动并成功且没有错误,但不会将数据移动到 S3。

4

2 回答 2

1

s3-dist-cp 现在是 EMR 集群主节点上的默认设置。

如果 spark 应用程序以“客户端”模式提交,我可以在 spark-submit 中成功执行 s3-dist-cp。

于 2019-01-11T04:56:54.690 回答
1

这不是您问题的正确直接答案,但我使用了 hadoop distcp ( https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html ) 并且它成功地移动了数据。在我的测试中,它与 spark.write.parquet(path) 相比相当慢(当考虑到使用 hadoop distcp 所需的额外写入 hdfs 所花费的时间时)。不过,我也对您的问题的答案非常感兴趣;考虑到亚马逊进行的额外优化,我认为 s3-dist-cp 可能会更快。

于 2019-01-02T20:42:36.093 回答