【发布时间】:2019-06-11 05:22:08
【问题描述】:
我想使用 Airflow 编排作业,包括运行一些 pig 脚本、shell 脚本和 spark 作业。
主要用于 Spark 作业,我想使用 Apache Livy,但不确定使用或运行 spark-submit 是否是个好主意。
如果我提交了使用 Airflow 跟踪 Spark 作业的最佳方法是什么?
【问题讨论】:
标签: apache-spark airflow livy
我想使用 Airflow 编排作业,包括运行一些 pig 脚本、shell 脚本和 spark 作业。
主要用于 Spark 作业,我想使用 Apache Livy,但不确定使用或运行 spark-submit 是否是个好主意。
如果我提交了使用 Airflow 跟踪 Spark 作业的最佳方法是什么?
【问题讨论】:
标签: apache-spark airflow livy
我的假设是您的应用程序JAR 包含您要提交到远程Spark 集群的Java / Scala 代码。 Livy 可以说是远程spark-submit 的最佳选择,当与其他可能性进行评估时:
master IP:Requires 修改全局配置/环境变量
SSHOperator:SSH 连接可能中断
EmrAddStepsOperator:依赖于EMR
关于跟踪
Livy only reports state 而不是进度(阶段完成百分比)REST API 轮询 Livy 服务器并在控制台中继续打印日志,这些日志将出现在 WebUI 的任务日志中 (@987654344 @)其他注意事项
Livy doesn't support 重用SparkSession 用于POST/batches 请求PySpark 中编写应用程序代码并使用 POST/session 请求参考文献
livy/examples/pi_apprssanders3/livy_spark_operator_python_example有用的链接
【讨论】: