【发布时间】:2022-02-01 12:45:55
【问题描述】:
我有一个 EC2 实例和一个 EMR。我想使用气流在 EMR 上运行 spark 作业。为此需要在哪里安装气流?
- 在 EC2 实例上。
- 在 EMR 主节点上。
我正在考虑为此使用 SparkSubmit 运算符。创建气流任务时我应该提供哪些参数?
【问题讨论】:
标签: amazon-ec2 airflow amazon-emr
我有一个 EC2 实例和一个 EMR。我想使用气流在 EMR 上运行 spark 作业。为此需要在哪里安装气流?
我正在考虑为此使用 SparkSubmit 运算符。创建气流任务时我应该提供哪些参数?
【问题讨论】:
标签: amazon-ec2 airflow amazon-emr
您将在 ec2 上安装气流,我会建议安装它的容器化版本。 See this answer.
要提交 spark 作业,您需要来自气流的EmrAddStepsOperator,并且您需要提供 spark-submit 的步骤。
(注意:如果您是从脚本启动集群,您还需要使用EmrCreateJobFlowOperator,请参阅此处的详细信息)
典型的提交步骤如下所示
spark_submit_step = [
{
'Name': 'Run Spark',
'ActionOnFailure': 'TERMINATE_CLUSTER',
'HadoopJarStep': {
'Jar': 'command-runner.jar',
'Args': ['spark-submit',
'--jars',
"/emr/instance-controller/lib/bootstrap-actions/1/spark-iforest-2.4.0.jar,/home/hadoop/mysql-connector-java-5.1.47.jar",
'--py-files',
'/home/hadoop/mysqlConnect.py',
'/home/hadoop/main.py',
'custum_argument',
another_custum_argument,
another_custom_argument]
}
}
]
【讨论】: