DAG 导入错误,因为 ModuleNotFoundError

DAG import error because ModuleNotFoundError

我最近从 Airflow 1.10.15 升级到 2.2.4。使用 sudo 安装。升级后升级了数据库。气流 运行 但存在导入错误。

我有多个带有行 from airflow.operators.mssql_operator import MsSqlOperator 的 DAG,但是一旦调度程序和网络服务器启动,我就会收到以下错误:

Broken DAG: [/opt/airflow/dags/admissions.py] Traceback (most recent call last):
  File "/opt/airflow/dags/admissions.py", line 7, in <module>
    from airflow.operators.mssql_operator import MsSqlOperator
  File "/usr/local/lib/python3.6/dist-packages/airflow/operators/mssql_operator.py", line 22, in <module>
    from airflow.providers.microsoft.mssql.operators.mssql import MsSqlOperator  # noqa
ModuleNotFoundError: No module named 'airflow.providers.microsoft.mssql.operators'

关于提供商的其他信息:

apache-airflow-providers-ftp             | 2.1.0
apache-airflow-providers-http            | 2.1.0
apache-airflow-providers-imap            | 2.2.1
apache-airflow-providers-microsoft-mssql | 2.1.1
apache-airflow-providers-odbc            | 2.0.2
apache-airflow-providers-sqlite          | 2.1.1

我该如何解决这个问题?

看来您确实拥有正确的提供商包 (apache-airflow-providers-microsoft-mssql)

但是,您使用的是“旧形式”导入而不是新形式

请尝试更改
from airflow.operators.mssql_operator import MsSqlOperator

from airflow.providers.microsoft.mssql.operators.mssql import MsSqlOperator

API参考和小教程的一些链接:
https://airflow.apache.org/docs/apache-airflow-providers-microsoft-mssql/stable/_api/airflow/providers/microsoft/mssql/operators/mssql/index.html#module-airflow.providers.microsoft.mssql.operators.mssql

https://airflow.apache.org/docs/apache-airflow-providers-microsoft-mssql/stable/operators.html#howto-operator-mssqloperator