Airflow BigQueryToMsSqlOperator指定mssql_conn_id不生效问题求助
问题分析与解决方案
核心问题根源:代码语法错误导致DAG解析失败
你的代码存在多处语法错误,这些错误会导致Airflow无法正确解析DAG配置,进而忽略你指定的mssql_conn_id参数,自动 fallback到默认的mssql_default连接:
1. default_args字典缺少逗号
字典中每个键值对末尾必须添加逗号,你的代码中多处遗漏:
default_args = { 'start_date' : pendulum.datetime(2024, 5, 19) # 此处缺少逗号 'retires' : 0 # 此处缺少逗号 'retry_delay' : timedelta(minutes=1) }
正确写法:
default_args = { 'start_date': pendulum.datetime(2024, 5, 19), 'retries': 0, 'retry_delay': timedelta(minutes=1) }
2. 参数拼写错误
'retires'是拼写错误,正确的参数名是'retries'(重试次数),拼写错误会导致该配置失效,同时引发语法解析问题。
3. 未定义的变量dagDesc
你在DAG定义中使用了description = dagDesc,但代码中并未定义dagDesc变量,这同样会导致DAG解析失败,使得后续算子的参数无法被正确加载。
修复步骤
- 修正上述所有语法错误,确保代码可正常运行
- 重启Airflow调度器,刷新Airflow UI中的DAG列表
- 重新触发任务,验证是否使用了指定的
my_con连接
额外验证点
如果修复语法错误后问题依然存在,可以:
- 确认
BigQueryToMsSqlOperator的参数名是否正确:在Airflow 2.5.3版本中,该算子的MSSQL连接参数确实是mssql_conn_id,无需修改参数名 - 查看Airflow的调度器日志,确认DAG是否被正常解析,是否有报错信息
内容的提问来源于stack exchange,提问作者Mordor
相关产品推荐
相关产品推荐

