【问题标题】:Module errorr for airflow oracle hook气流预言机钩子模块错误
【发布时间】:2022-06-14 14:18:22
【问题描述】:

我正在尝试在气流上建立 Oracle 数据库连接。 我收到此错误:

ModuleNotFoundError: No module named 'airflow.providers.oracle' when using: from airflow.provideres.oracle.hooks.oracle import OracleHook

我的dag 文件的一部分:

from airflow.decorators import task
from airflow.providers.oracle.hooks.oracle import OracleHook

def exe_query_oracle_hook():
        hook = OracleHook(oracle_conn_id="oracle_conn")
        df = hook.get_pandas_df(sql='SELECT * FROM TABLE')
        print(df.to_string())

我尝试安装pip install apache-airflow-providers-oracle 并且大多数已经需要,我当前的版本是 2.1.0。我还关注了文档:airflow building custom images。这是我的Dockerfile

FROM apache/airflow:2.1.0

ARG ORACLE_VERSION=11.2.0.4.0
ARG ORACLE_SHORT_VER=11204
ENV CLIENT_ZIP=instantclient-basiclite-linux.x64-${ORACLE_VERSION}.zip
ENV SDK_ZIP=instantclient-sdk-linux.x64-${ORACLE_VERSION}.zip
ENV ORACLE_HOME=/opt/oracle
ENV TNS_ADMIN ${ORACLE_HOME}/network/admin

WORKDIR ${ORACLE_HOME}
USER root
RUN apt-get update \
        && apt-get -yq install unzip curl \
        && apt-get clean

COPY dockerfiles/${CLIENT_ZIP} ${ORACLE_HOME}/${CLIENT_ZIP}
COPY dockerfiles/${SDK_ZIP} ${ORACLE_HOME}/${SDK_ZIP}
RUN unzip ${ORACLE_HOME}/${CLIENT_ZIP} && unzip ${ORACLE_HOME}/${SDK_ZIP} \
        && rm -f *.zip
VOLUME ["${TNS_ADMIN}"]

RUN apt-get -yq install libaio1 \
        && apt-get autoremove \
        && apt-get clean \
        && echo ${ORACLE_HOME} > /etc/ld.so.conf.d/oracle.conf \
        && mkdir -p ${TNS_ADMIN} \
        && ldconfig \
        && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN pip install --no-cache-dir apache-airflow-providers-oracle

USER 1001

不确定还有什么可以尝试的,有人可以提供一些帮助吗?谢谢。

【问题讨论】:

    标签: dockerfile airflow


    【解决方案1】:

    您必须以气流用户身份运行 pip 安装,目前您以 root 身份运行它。

    ...
    USER 1001
    RUN pip install --no-cache-dir apache-airflow-providers-oracle
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 2021-08-28
      • 2017-09-16
      • 2020-10-28
      相关资源
      最近更新 更多