如何在Spark提交应用程序中执行S3-dist-cp命令

时间:2018-12-21 02:20:04

标签: scala apache-spark bigdata spark-submit s3distcp

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

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

我还在所有主控制器上安装了s3-dist-cp。 该应用程序启动并成功运行,没有错误,但不会将数据移至S3。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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