【问题标题】:How can i make SQLAlchemy engine and upload the DataFrame from within Airflow Docker container?如何制作 SQLAlchemy 引擎并从 Airflow Docker 容器中上传 DataFrame?
【发布时间】:2021-02-11 10:55:36
【问题描述】:

基本上我使用puckel/docker-airflow Docker 映像,修改为使用 pyodbc 和 cx_oracle 驱动程序和 PythonVirtualenvOperator,但是当我尝试创建 sqlalchemy 引擎时

db_engine = sqlalchemy.create_engine('mssql+pyodbc://SK-BI-02/DWH?driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.7.so.1.1&domain=domain&password={}&login=user&port=1433'.format(_pass))
target_frame.to_sql('some_path',db_engine,'scheme',index=False,if_exists='append')

它继续提供这样的回溯

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server]SSPI Provider: No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_0) (851968) (SQLDriverConnect)')
(Background on this error at: http://sqlalche.me/e/dbapi)

如何使其工作,或者是否有另一种方法可以从容器中的气流上传 DataFrame?

【问题讨论】:

    标签: python docker sqlalchemy airflow pyodbc


    【解决方案1】:

    在经历了数小时的痛苦之后,唯一对我有用的是使用 FreeTDS 驱动程序而不是 Microsft ODBC 驱动程序,遵循此question 的答案。 不确定,但我猜它与 MSSQL 的 Microsoft Auth 及其安全配置有关......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-18
      • 2014-07-27
      • 1970-01-01
      • 2015-07-28
      • 2017-06-04
      • 2020-10-20
      • 1970-01-01
      • 2021-07-10
      相关资源
      最近更新 更多