我可以使用Spark
运行BashOperator
个工作,但我想使用SparkSubmitOperator
独立模式来使用Spark
。
Here's我的DAG
SparkSubmitOperator
和堆栈跟踪
args = {
'owner': 'airflow',
'start_date': datetime(2018, 5, 24)
}
dag = DAG('spark_job', default_args=args, schedule_interval="*/10 * * * *")
operator = SparkSubmitOperator(
task_id='spark_submit_job',
application='/home/ubuntu/test.py',
total_executor_cores='1',
executor_cores='1',
executor_memory='2g',
num_executors='1',
name='airflow-spark',
verbose=False,
driver_memory='1g',
conf={'master':'spark://xx.xx.xx.xx:7077'},
dag=dag,
)
查看spark_submit_hook
的来源,似乎_resolve_connection()
始终设置master=yarn
。如何通过master
独立主网址更改Spark
属性值?我可以设置哪些属性以独立模式运行Spark
作业?
答案 0 :(得分:5)
您可以使用Airflow Web UI创建新连接,也可以更改spark-default
连接。
主人可以是local
,yarn
,spark://HOST:PORT
,mesos://HOST:PORT
和k8s://https://<HOST>:<PORT>
。
您还可以在附加内容中提供以下命令:
{"queue": "root.default", "deploy_mode": "cluster", "spark_home": "", "spark_binary": "spark-submit", "namespace": "default"}
“spark-submit”二进制文件应该在PATH中,或者spark-home在连接中的额外设置。