2017-02-01 6 views
1

Für Apache Airflow habe ich die Datenbankverbindung mit sql_alchemy_conn = ibm_db_sa://{USERNAME}:{PASSWORD}@{HOST}:50000/airflow in der Datei airflow.cfg eingerichtet. Wenn ich airflow initdb starte, erscheint es KeyError: 'ibm_db_sa'. Tritt jemand in ähnlichen Fehler? Wie man es löst? Ich kann keine Antwort finden, wenn ich online suche.Apache Airflow db2 Verbindung

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

Hier ist spezifische Fehlermeldung:

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' 

Antwort

0

Haben Sie das gewünschte Paket für db2 installieren? Z.B. pip install ibm_db_sa. Übrigens listet die Pypi-Seite auf, dass es nur mit Python 3 kompatibel ist.

Bitte beachten Sie, dass db2 offiziell nicht als Backend für Airflow unterstützt wird.