Kal*_*lly 4 amazon-web-services amazon-emr terraform airflow
如何在EMR主群集(由Terraform创建)和Airflow之间建立连接。我在具有相同SG,VPC和子网的AWS EC2服务器下设置了Airflow。
我需要解决方案,以便Airflow可以与EMR对话并执行Spark提交。
这些博客对建立连接后的执行情况有一定的了解。
在气流中,我已经使用用于AWS和EMR的UI建立了连接:
下面的代码将列出处于活动状态和已终止的EMR群集,我也可以进行微调以获得活动群集:-
from airflow.contrib.hooks.aws_hook import AwsHook
import boto3
hook = AwsHook(aws_conn_id=‘aws_default’)
client = hook.get_client_type(‘emr’, ‘eu-central-1’)
for x in a:
print(x[‘Status’][‘State’],x[‘Name’])
Run Code Online (Sandbox Code Playgroud)
我的问题是-如何更新我的上述代码可以执行Spark提交操作
虽然它可能无法直接解决您的特定查询,但从广义上讲,这是您可以通过以下方式spark-submit在(远程)EMR上触发的一些方法Airflow
使用 Apache Livy
使用 EmrSteps API
EMREmrStepSensor(旁边EmrAddStepsOperator)EMR群集上,您不能同时运行多个步骤(尽管存在一些棘手的解决方法)使用SSHHook/SSHOperator
spark-submit命令涉及很多参数,那么(以编程方式)构建该命令可能会变得很麻烦编辑1
似乎还有另一种直接的方法
指定远程master-IP
有用的链接
| 归档时间: |
|
| 查看次数: |
5108 次 |
| 最近记录: |