使用用户定义的参数通过 livy 提交 pyspark 作业

Submitting pyspark job through livy using user defined parameters

我们简单的 post 请求 livy 一个自包含的 pyspark 模块工作正常。但是,我们有多个 pyspark 模块使用的可重用组件。此外,我们所有的代码都使用 --job 参数从 main.py 模块触发。

文件夹结构如下:

main.py
jobs.zip
     jobs
          job1
              __init__.py
          job2
              __init__.py

下面的 spark-submit 命令工作正常。然而,我们正试图弄清楚如何使用 livy api 传递 --job 参数。

/usr/local/spark/bin/spark-submit \
--py-files jobs.zip \
src/main.py \
--job value1 

将 REST API 调用到 /batches 终点,使用以下示例 JSON,

{"file":"Path to File containing the application to execute","args":["--job","value1"],"pyFiles":[List of Python files to be used in this session]}

参考:https://livy.incubator.apache.org/docs/latest/rest-api.html