通过在Livy上提交批POST方法并跟踪作业来使用Airflow触发作业提交

时间:2019-01-17 03:36:30

标签: apache-spark airflow livy

我想使用Airflow来编排工作,包括运行一些猪脚本,shell脚本和spark作业。

主要在Spark作业上,我想使用Apache Livy,但不确定使用或运行spark-submit是个好主意。

即使我提交了,使用Airflow跟踪Spark作业的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

我的假设是您的应用程序JAR包含要提交给远程Java集群的Scala / Spark代码。在针对其他可能性进行评估时,Livy可以说是远程spark-submit 的最佳选择:

  • 指定远程master IP Requires修改全局配置/环境变量
  • 使用SSHOperator SSH连接可能会断开
  • 使用EmrAddStepsOperator :取决于EMR

关于跟踪

  • Livy only reports state而不是进度(阶段完成百分比)
  • 如果可以的话,您可以通过Livy API对REST服务器进行轮询,并在控制台中保留打印日志,这些日志将显示在任务日志中WebUI(View Logs

其他注意事项

  • Livy doesn't supportSparkSession请求重复使用POST/batches
  • 如果必须这样做,则必须在PySpark中编写应用程序代码,并使用POST/session个请求

参考


有用的链接