通过livy在HDFS上传递python模块

在HDFS的 / user / usr1 / 路径上,我放置了两个脚本 pySparkScript.py relatedmodule.py relatedmodule.py 是一个python模块,将导入到 pySparkScript.py 中。

我可以使用spark-submit pySparkScript.py

运行脚本

但是,我需要通过Livy运行这些脚本。通常,我可以按以下方式成功运行单个脚本:

curl -H "Content-Type:application/json" -X POST -d '{"file": "/user/usr1/pySparkScript.py"}' livyNodeAddress/batches

但是,当我运行上面的代码时,一旦到达import relatedmodule.py,它就会失败。我意识到我也应该在Livy的参数中给出 relatedmodule 的路径。我尝试了以下选项:

curl -H "Content-Type:application/json" -X POST -d '{"file": "/user/usr1/pySparkScript.py","files": ["/user/usr1/relatedmodule.py"]}' livyNodeAddress/batches

如何将两个文件都传递给Livy?

dypzy2000 回答:通过livy在HDFS上传递python模块

尝试使用pyFiles属性。 请参阅Livy REST API docs

本文链接:https://www.f2er.com/2949288.html

大家都在问