【发布时间】:2018-08-08 12:04:35
【问题描述】:
我正在尝试使用Livy 远程提交多个Spark工作。假设我想远程执行以下 spark-submit 任务(所有选项都如此)
spark-submit \
--class com.company.drivers.JumboBatchPipelineDriver \
--conf spark.driver.cores=1 \
--conf spark.driver.memory=1g \
--conf spark.dynamicAllocation.enabled=true \
--conf spark.serializer='org.apache.spark.serializer.KryoSerializer' \
--conf "spark.executor.extraJavaOptions= -XX:+UseG1GC" \
--master yarn \
--deploy-mode cluster \
/home/hadoop/y2k-shubham/jars/jumbo-batch.jar \
\
--start=2012-12-21 \
--end=2012-12-21 \
--pipeline=db-importer \
--run-spiders
注意:JAR 之后的选项(--start、--end 等)特定于我的 Spark 应用程序。我为此使用scopt
我知道我可以使用
LivyPOST/batchesrequest 提供上述spark-submit命令中的所有各种选项。但由于我必须远程制作超过 250 个
spark-submits,我想利用Livy的会话管理功能;即,我希望Livy创建一次SparkSession,然后将其用于我的所有spark-submit请求。POST/sessionsrequest 允许我指定相当多的选项来远程实例化SparkSession。但是,我在POST/batchesrequest 中看不到session参数。
如何利用我使用POST/sessions 请求创建的SparkSession 使用POST/batches 请求提交我的Spark 作业?
我参考了以下示例,但它们仅演示了在Livy 的POST 请求中为Spark 工作提供(python)代码
【问题讨论】:
-
这是我对Livy users 邮件列表的查询的link
标签: livy