我正在尝试使用spark-on-yarn中的--archives选项来上传档案文件。基于文档&如此question中所述,yarn不仅会上传zip文件,还会自动取消归档工作节点上的zip文件。
从日志中,我可以看到纱线正在上传火花的临时目录中的jar,例如
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
我面临的问题是,虽然zip文件已被复制到spark staging目录中,但它并没有自动取消存档。我猜它也没有被复制到工作节点中。
假设yarn确实解压缩了zip文件,有没有办法以编程方式访问工作节点的位置?
我正在使用火花2.2对抗emr 5.8,它有纱线2.7。
答案 0 :(得分:1)
要将存档解压缩到所需目录,您需要提供以下值
src
app
/modules
/customers
/models
customer.py
/shared
/database.py
/server.py
这意味着src.zip将被上载到所有执行者,并且未归档到“ src”目录中。另一个使它更清晰的示例-
--archives src.zip#src
如果您像上面那样更改目录名称(#后面的字符串),现在src.zip将被取消存档到“ abc”目录中。