我是Airflow和SparkSubmitOperator的新手。我可以看到,在定位YARN时,Spark应用程序已提交到“ root.default”队列中。
一个简单的问题-如何设置自定义队列名称?
wordcount = SparkSubmitOperator(
application='/path/to/wordcount.py',
task_id="wordcount",
conn_id="spark_default",
dag=dag
)
p.s。我已经阅读了文档:
https://airflow.apache.org/docs/stable/_modules/airflow/contrib/operators/spark_submit_operator.html
谢谢
答案 0 :(得分:3)
我现在可以看到--queue值来自Airflow spark-default连接:
Conn Id = spark_default
Host = yarn
Extra = {"queue": "root.default"}
转到“管理”菜单>“连接”,选择spark默认并进行编辑:
在Airflow WebServer用户界面中将多余的{"queue": "root.default"}
更改为{"queue": "default"}
。
这当然意味着每个队列都需要气流连接。
答案 1 :(得分:0)
明确地说,至少有两种方法可以做到这一点:
--conf
参数,Dustan 在评论中提到。根据我的测试,如果在 Connection 的 queue
字段中设置了 Extra
,则无论您向 SparkSubmit
conf 传递什么内容,都会使用该设置。
但是,如果您在 Connection 中从 queue
中remove Extra
,并将其发送到 SparkSubmitOperator
conf arg 中,如下所示,YARN 将正确显示它.
conf={
"spark.yarn.queue": "team_the_best_queue",
"spark.submit.deployMode": "cluster",
"spark.whatever.configs.you.have" = "more_config",
}