Airflow:使用 LivyBatchOperator 在 yarn 中提交 pyspark 应用程序
Posted
技术标签:
【中文标题】Airflow:使用 LivyBatchOperator 在 yarn 中提交 pyspark 应用程序【英文标题】:Airflow: Use LivyBatchOperator for submitting pyspark applications in yarn 【发布时间】:2020-06-30 13:44:24 【问题描述】:我遇到了一个名为 LivyBatchOperator 的东西,但找不到一个很好的例子来让它在气流中提交 pyspark 应用程序。任何有关此的信息将不胜感激。提前致谢。
【问题讨论】:
【参考方案1】:我遇到了这个blog post,它可以帮助您了解 Airflow + Spark 的可用选项。
Here 是 LivyBatchOperator 的一个示例,here 是关于如何安装 airflow-livy-operators 的示例。
我会推荐以下选项:
-
AWS EMR: 使用 EmrAddStepsOperator
Regular Spark Cluster : 使用上述机制在气流中设置 Livy 算子。从气流服务器的角度来看,这将为您提供一个巧妙的配置,并在 spark 集群前使用 Livy。
让我知道你的回应!
【讨论】:
谢谢,各个博客帮助我开始。我们可以在 file 参数中传递一个 zip 文件,并在通过 livy 提交 pyspark 应用程序时传递一个 class_name 吗? 是的,有一个选项可以使用文件参数而不是文件来传递 ZIP 文件。 files - 用于发送 ZIP 文件列表 file - 在 python 的情况下,将其用作运行 spark 驱动程序的入口点 class_name - 这将是 Java/Spark 主类的类名。请参阅此处了解作为此 LivyBatchOperator 的支柱的 Livy API 文档。 livy.incubator.apache.org/docs/latest/rest-api.html 我在尝试此LivyBatchOperator( task_id = 'spark_job', file = '/abc/xyz.zip', class_name = 'src.foo.py', py-files), "spark.submit.pyFiles":'/abc/lmn.zip' where src.foo.py is a file in xyz.zip
Error: --py-files given but primary resource is not a Python script
时遇到问题。 @Abdul以上是关于Airflow:使用 LivyBatchOperator 在 yarn 中提交 pyspark 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
入门Airflow 使用Docker在本地快速搭建Airflow
入门Airflow 使用Docker在本地快速搭建Airflow