纱线和 --archives 选项上的火花

Paw*_*hra 5 hadoop hadoop-yarn apache-spark

我正在尝试利用 spark-on-yarn 中可用的 --archives 选项来上传存档文件。基于文档 & 如本问题所述,yarn 不仅会上传 zip 文件,还会自动在工作节点上解压缩 zip 文件。

从日志中,我可以看到纱线正在将 jar 上传到 spark 的暂存目录中,例如

17/09/19 01:28:57 INFO Client: Uploading resource file:/home/foo/bar/zoo.zip -> hdfs://abc.foo.bar:8020/user/xyz/.sparkStaging/application_1503584958553_4501/zoo.zip
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,虽然 zip 文件被复制到 spark 暂存目录中,但它不会自动取消归档,我猜它也不会被复制到工作节点中。

假设 yarn 没有解压 zip 文件,有没有办法以编程方式访问工作节点的位置?

我正在针对具有纱线 2.7 的 emr 5.8 运行 spark 2.2。

小智 3

要将 zip 解压到所需目录,您需要提供以下值

--archives src.zip#src

这意味着 src.zip 将上传到所有执行程序并解压缩到“src”目录中。另一个更清楚的例子 -

--archives src.zip#abc

如果像上面那样更改目录名称(# 后面的字符串),现在 src.zip 将被解压缩到“abc”目录中。