SubDagOperator 无效参数为:**kwargs: 'executor': LocalExecutor(parallelism=32)
Posted
技术标签:
【中文标题】SubDagOperator 无效参数为:**kwargs: \'executor\': LocalExecutor(parallelism=32)【英文标题】:SubDagOperator Invalid arguments were: **kwargs: 'executor': LocalExecutor(parallelism=32)SubDagOperator 无效参数为:**kwargs: 'executor': LocalExecutor(parallelism=32) 【发布时间】:2021-07-28 03:19:22 【问题描述】:我们正在升级到 Airflow 2.0,我有以下任务:
with dag:
cms_ingest = SubDagOperator(
subdag=cms_s3ingest(
DAG_NAME, 'cms_s3ingest', default_args['start_date'], dag.schedule_interval),
task_id='cms_s3ingest',
# so that subtasks can run in parallel
executor=LocalExecutor(),
task_concurrency=4)
但我看到了这个错误:
airflow.exceptions.AirflowException:无效的参数被传递给 SubDagOperator (task_id: cms_s3ingest)。无效的参数是: **kwargs: 'executor': LocalExecutor(parallelism=32)
在我的airflow.cfg 文件中,我有以下值: 并行度 = 32
我相信这是 LocalExecutor 使用的 https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/executors/local_executor/index.html#airflow.executors.local_executor.LocalExecutor。
为什么 Airflow 2.0.2 中会出现此错误,我应该如何解决?
【问题讨论】:
【参考方案1】:当行为从 backfil 更改为调度程序逻辑 (PR) 时,executor
参数已从 SubDagOperator
中删除。
但即使在此之前,也不建议在 SubDagOperator
内并行任务,这就是为什么它默认为 SequentialExecutor
(您可以阅读原因 here)
由于您使用的是Airflow>2.0.0
,请注意SubDags are deprecated。你应该转到TasksGroups。
【讨论】:
以上是关于SubDagOperator 无效参数为:**kwargs: 'executor': LocalExecutor(parallelism=32)的主要内容,如果未能解决你的问题,请参考以下文章