簡體   English   中英

為什么在 Mac 上安裝 Apache Airflow 時沒有出現此類表錯誤?

[英]Why do I get no such table error when installing Apache Airflow on Mac?

很難給出正確的標題。 好的,就到這里了。 我正在按照本教程在我的 Mac(Mojave 版本)上安裝 Apache Airflow -

https://towardsdatascience.com/getting-started-with-apache-airflow-df1aa77d7b1b

在執行 pip install 氣流任務后的第一步,當我運行氣流版本命令時,我收到以下錯誤,然后出現氣流版本 -

錯誤 - 使用 Traceback 執行前回調失敗(最近一次調用最后一次):文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1244 行,在 _execute_context游標、語句、參數、上下文 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/default.py”,第 552 行,在 do_execute cursor.execute(statement, parameters) sqlite3 中。 OperationalError:沒有這樣的表:日志

上述異常是以下異常的直接原因:

回溯(最近一次通話):文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/airflow/utils/cli_action_loggers.py”,第 68 行,在 on_pre_execution cb(**kwargs) 文件“/ Users/karthikv/anaconda3/lib/python3.7/site-packages/airflow/utils/cli_action_loggers.py”,第 99 行,在 default_action_log session.add(log) 文件中“/Users/karthikv/anaconda3/lib/python3.7 /contextlib.py”,第 119 行,在退出next(self.gen) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/airflow/utils/db.py”,第 45 行,在 create_session session.commit() 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py”,第 1026 行,提交 self.transaction.commit() 文件“/Users/ karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py”,第 493 行,提交 self._prepare_impl() 文件“/Users/karthikv/anaconda3/lib/python3.7/site-包/sqlalchemy/orm/session.py”,第 472 行,在 _prepare_impl self.session.flush() 文件“/Users/karthikv/anaconda3/lib/python3.7/site-package s/sqlalchemy/orm/session.py”,第 2451 行,刷新 self._flush(objects) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py”,第 2589 行,在 _flush transaction.rollback(_capture_exception=True) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py”中,第 68 行,在退出compat.reraise( exc_type, exc_value, exc_tb) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py”,第 129 行,在重新提高價值文件“/Users/karthikv/anaconda3/ lib/python3.7/site-packages/sqlalchemy/orm/session.py”,第 2549 行,在 _flush flush_context.execute() 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/ orm/unitofwork.py”,第 422 行,在執行 rec.execute(self) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py”,第 589 行,在執行 uow,文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py”,第 245 行,在 save_obj 插入器中 t,文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py”,第 1120 行,在 _emit_insert_statements 語句中,參數文件“/Users/karthikv/anaconda3/lib/python3 .7/site-packages/sqlalchemy/engine/base.py", line 988, in execute return meth(self, multiparams, params) File "/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy /sql/elements.py”,第 287 行,在 _execute_on_connection 中返回 connection._execute_clauseelement(self, multiparams, params) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py “,第 1107 行,在 _execute_clauseelement distilled_pa​​rams,文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1248 行,在 _execute_context e、語句、參數、光標、上下文文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py”,第 1466 行,在 _handle_dbapi_exception util.raise_from_cause(sqlalchemy_exception, exc_info) 文件“/Users/karthikv/an aconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) 文件“/Users/karthikv/ anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py”,第 128 行,重新加注提高 value.with_traceback(tb) 文件“/Users/karthikv/anaconda3/lib/python3.7/site-包/sqlalchemy/engine/base.py”,第 1244 行,在 _execute_context 游標、語句、參數、上下文文件“/Users/karthikv/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/default.py” ,第 552 行,在 do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: log [SQL: INSERT INTO log (dttm, dag_id, task_id, event, execution_date, owner, extra ) VALUES (?, ?, ?, ?, ?, ?, ?)] [參數: ('2019-08-12 20:50:24.960006', None, None, 'cli_version', None, 'karthikv', ' {"host_name": "192-168-1-6.tpgi.com.au", "full_command": "[\\'/Users/karthikv/anaconda3/bin/airflow\\', \\'version\\' ]"}')]

(此錯誤的背景: http : //sqlalche.me/e/e3q8

有人可以幫助我這個錯誤意味着什么以及如何解決它? 我從說明中了解到,默認情況下會安裝 SQLLite db,並且在我們開始設置后端數據庫(例如 PostgreSQL)之前,將設置單個 DAG 限制。

我嘗試使用pip卸載氣流卸載以再次執行全新安裝。 我收到以下錯誤 -

警告:跳過氣流,因為它沒有安裝。

請幫助我解決問題(或)指向我可以進一步閱讀的資源。

安裝后需要進行初始化:

$ export AIRFLOW_HOME=some/dir
$ airflow db init  # or `airflow initdb` for the legacy 1.X

如果AIRFLOW_HOME未設置, ~/airflow/ AIRFLOW_HOME ~/airflow/將被創建和使用。 這是存儲配置和日志的地方; 如果要重置配置,請刪除存儲在AIRFLOW_HOME中的目錄並重新運行AIRFLOW_HOME airflow db init

現在其他命令應該可以工作,例如

$ airflow db check
[2021-02-06 23:35:21,577] {db.py:756} INFO - Connection successful.

來源:來自airflow文檔的初始化氣流數據庫部分。 感謝 Anas Tiour ,他在此評論中通知了 2.0.0 中的命令行界面更改!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM