Docker <&书信电报;avirflow.providers.jdbc>&燃气轮机;Airflow2.x中名为error的模块

Docker <&书信电报;avirflow.providers.jdbc>&燃气轮机;Airflow2.x中名为error的模块,docker,airflow,airflow-2.x,Docker,Airflow,Airflow 2.x,我使用的是气流2.0。我正在尝试使用mac上的docker容器连接到redshift 这是我的dag.py: from airflow import DAG from datetime import datetime,timedelta from airflow.operators.bash import BashOperator from airflow.operators.python import PythonOperator,BranchPythonOperator from air

我使用的是气流2.0。我正在尝试使用mac上的docker容器连接到redshift

这是我的dag.py:

from airflow import DAG
from datetime import datetime,timedelta


from airflow.operators.bash import BashOperator
from airflow.operators.python import PythonOperator,BranchPythonOperator
from airflow.providers.jdbc.hooks.jdbc import JdbcHook



#Creating JDBC connection using Conn ID
JdbcConn = JdbcHook(jdbc_conn_id='Redshift_conn')
def getconnection():
    JdbcConn.get_connection('Redshift')
    print("connected")

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': airflow.utils.dates.days_ago(2),
    'email': ['airflow@example.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5)
}

with DAG(
    dag_id="redshift",default_args=default_args ,schedule_interval="@daily",
    catchup=False) as dag:

    t1 = PythonOperator(
    task_id='getconnection',
    python_callable=getconnection
)
下面是连接的定义

Airflow UI显示此错误,我不知道如何消除它

损坏的DAG:[/opt/aiffort/dags/redshift.py]回溯(最近 最后调用):文件“”,第219行,在 _调用已删除文件“/opt/aiffort/dags/redshift.py”中的第7行 从afflow.providers.jdbc.hooks.jdbc导入JdbcHook ModuleNotFoundError:没有名为“afflow.providers.jdbc”的模块


任何帮助都将不胜感激

在Airflow 2.0中,所有不属于Airflow核心调度系统的功能都被移动到单独的Python包中。我叫他们

JDBC功能由基于错误消息的提供,看起来您的系统上没有安装此软件包。安装此软件包的方法之一是

pip install apache-airflow-providers-jdbc

塞吉,但它不起作用。我正在使用airflow2.x。我遵循这里的示例,我将钩子部分更改为“from afflow.providers.jdbc.hooks.jdbc import JdbcHook”,并将get_连接更改为“get_conn”,甚至在docker()中安装模块也不起作用。它返回给我同样的错误。