我们有一个要求,以安排Spark作业,因为我们熟悉apache-airflow,我们想继续与它创建不同的工作流.我搜索网页,但没有找到一步一步的指南,以安排Spark作业上气流和选项,以运行他们在不同的服务器上运行主.对此的答复将不胜感激。提前感谢。
dzjeubhm1#
有三种方法可以使用Apache Airflow远程提交Spark作业:(1)使用SparkSubmitOperator:此操作符要求您在我们的Airflow服务器上安装了spark-submit二进制文件和YARN客户端配置。它使用给定的选项调用spark-submit命令,阻塞直到作业完成并返回最终状态。好的是,它还可以从spark-submit命令stdout和stderr流式传输日志。我相信,为了让spark-submit --master yarn --deploy-mode客户端工作,您实际上只需要配置一个yarn-site.xml文件。在YARN中部署Application Master后,Spark将在Hadoop集群本地运行。如果您真的需要,您可以添加一个hdfs-site.xml和hive-site.xml,并从Airflow提交(如果可能的话),但至少应该从YARN容器类路径中获取hdfs-site.xml文件(2)使用SSHOperator:使用此操作符在远程服务器上运行bash命令(通过paramiko库使用SSH协议),如spark-submit。这种方法的好处是您不需要复制hdfs-site.xml或维护任何文件。(3)将SimpleHTTPOperator与Livy配合使用:Livy是一个开源的REST接口,可以从任何地方与Apache Spark进行交互。您只需要有REST调用即可。我个人更喜欢SSHOperator:)
SparkSubmitOperator
spark-submit --master yarn --deploy-mode
hdfs-site.xml
hive-site.xml
SSHOperator
spark-submit
SimpleHTTPOperator
krcsximq2#
我们可以使用以下任何选项在Airflow中提交spark作业1.Spark提交操作员。
2条答案
按热度按时间dzjeubhm1#
有三种方法可以使用Apache Airflow远程提交Spark作业:
(1)使用
SparkSubmitOperator
:此操作符要求您在我们的Airflow服务器上安装了spark-submit二进制文件和YARN客户端配置。它使用给定的选项调用spark-submit命令,阻塞直到作业完成并返回最终状态。好的是,它还可以从spark-submit命令stdout和stderr流式传输日志。我相信,为了让
spark-submit --master yarn --deploy-mode
客户端工作,您实际上只需要配置一个yarn-site.xml文件。在YARN中部署Application Master后,Spark将在Hadoop集群本地运行。
如果您真的需要,您可以添加一个
hdfs-site.xml
和hive-site.xml
,并从Airflow提交(如果可能的话),但至少应该从YARN容器类路径中获取hdfs-site.xml
文件(2)使用
SSHOperator
:使用此操作符在远程服务器上运行bash命令(通过paramiko库使用SSH协议),如spark-submit
。这种方法的好处是您不需要复制hdfs-site.xml
或维护任何文件。(3)将
SimpleHTTPOperator
与Livy配合使用:Livy是一个开源的REST接口,可以从任何地方与Apache Spark进行交互。您只需要有REST调用即可。我个人更喜欢SSHOperator:)
krcsximq2#
我们可以使用以下任何选项在Airflow中提交spark作业
1.Spark提交操作员。
下面的链接向我们解释了使用这些作业https://medium.com/codex/executing-spark-jobs-with-apache-airflow-3596717bbbe3运行气流的代码