我正在尝试使用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
这个
我知道我可以使用request 提供
spark-submit
上述命令中的所有各种选项。Livy
POST/batches
但由于我必须
spark-submit
远程制作超过 250 秒,我想利用Livy
的会话管理功能;即,我想Livy
创建SparkSession
一次,然后将其用于我的所有spark-submit
请求。该
POST/sessions
请求允许我指定很多用于SparkSession
远程实例化的选项。但是,我在request中没有看到任何session
论点。POST/batches
如何利用SparkSession
我使用请求创建的内容来使用POST/sessions
请求提交我的Spark
工作POST/batches
?
我参考了以下示例,但它们仅演示了在的请求中为作业提供 ( python
)代码Spark
Livy
POST