尝试将db2与Apache Airflow一起使用时出现KeyError:'ibm_db_sa' [英] KeyError: 'ibm_db_sa' when trying to use db2 with Apache Airflow

查看:140
本文介绍了尝试将db2与Apache Airflow一起使用时出现KeyError:'ibm_db_sa'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用 sql_alchemy_conn = ibm_db_sa:// {USERNAME}:{PASSWORD} @ {HOST}:50000 / airflow 建立了数据库连接$ c> airflow.cfg 文件。

I've setup a database connection using sql_alchemy_conn = ibm_db_sa://{USERNAME}:{PASSWORD}@{HOST}:50000/airflow in the airflow.cfg file.

当我运行 airflow initdb 时,它弹出 KeyError:'ibm_db_sa'。如何将DB2连接与Airflow配合使用?

When I run airflow initdb, it pops up KeyError: 'ibm_db_sa'. How can I use a DB2 connection with Airflow?

==============

===============

这里是更具体的错误消息:

Here is more specific error message:

airflow initdb
[2017-02-01 15:55:57,135] {__init__.py:36} INFO - Using executor SequentialExecutor
DB: ibm_db_sa://db2inst1:***@localhost:50000/airflow
[2017-02-01 15:55:58,151] {db.py:222} INFO - Creating tables
Traceback (most recent call last):
  File "/opt/anaconda/bin/airflow", line 15, in <module>
    args.func(args)
  File "/opt/anaconda/lib/python2.7/site-packages/airflow/bin/cli.py", line 524, in initdb
    db_utils.initdb()
  File "/opt/anaconda/lib/python2.7/site-packages/airflow/utils/db.py", line 106, in initdb
    upgradedb()
  File "/opt/anaconda/lib/python2.7/site-packages/airflow/utils/db.py", line 230, in upgradedb
    command.upgrade(config, 'heads')
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/command.py", line 174, in upgrade
    script.run_env()
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/script/base.py", line 416, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/util/pyfiles.py", line 93, in load_python_file
    module = load_module_py(module_id, path)
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/util/compat.py", line 79, in load_module_py
    mod = imp.load_source(module_id, path, fp)
  File "/opt/anaconda/lib/python2.7/site-packages/airflow/migrations/env.py", line 74, in <module>
    run_migrations_online()
  File "/opt/anaconda/lib/python2.7/site-packages/airflow/migrations/env.py", line 65, in run_migrations_online
    compare_type=COMPARE_TYPE,
  File "<string>", line 8, in configure
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/runtime/environment.py", line 773, in configure
    opts=opts
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/runtime/migration.py", line 159, in configure
    return MigrationContext(dialect, connection, opts, environment_context)
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/runtime/migration.py", line 103, in __init__
    self.impl = ddl.DefaultImpl.get_by_dialect(dialect)(
  File "/opt/anaconda/lib/python2.7/site-packages/alembic/ddl/impl.py", line 65, in get_by_dialect
    return _impls[dialect.name]
KeyError: 'ibm_db_sa'


推荐答案

您是否安装了db2所需的软件包?例如。 pip安装ibm_db_sa 。顺便说一下,pypi页面列出了它仅与python 3兼容。

Did you install the required package for db2? Eg. pip install ibm_db_sa. By the way the pypi page lists that it is only compatible with python 3.

请注意,db2作为Airflow的后端并没有被正式支持。

Please note that db2 is not officially supported as a backend for Airflow.

这篇关于尝试将db2与Apache Airflow一起使用时出现KeyError:'ibm_db_sa'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆