[英]Implementing Postgres Sql in Apache Airflow
我在 Ubuntu 版本 18.04.3 服務器上實施了 Apache-Airflow。 當我設置它時,我使用了 sql lite 通用數據庫,它使用了順序執行器。 我這樣做只是為了玩耍並習慣這個系統。 現在我正在嘗試使用本地執行器,並且需要將我的數據庫從 sqlite 轉換為推薦的 postgres sql。
有誰知道如何進行這種轉變? 我發現的所有教程都需要從一開始就使用 postgres sql 設置 Airflow。 我知道有很多活動部件,我害怕弄亂我目前正在運行的東西。 非常感謝任何知道如何執行此操作或可以指出我在哪里查看的人。 謝謝!
只是用一些命令完成@lalligood 答案:
在airflow.cfg
文件中查找sql_alchemy_conn
並將其更新為指向您的 PostgreSQL 服務:
sql_alchemy_conn = postgresql+psycopg2://user:pass@hostadress:port/database
例如:
sql_alchemy_conn = postgresql+psycopg2://airflow:airflow@localhost:5432/airflow
如上一行所示,您需要名為airflow
的用戶和數據庫,因此您需要創建它。 為此,請打開您的 psql 命令行並鍵入以下命令以創建名為 airflow 的用戶和數據庫,並將數據庫airflow
的所有權限授予用戶airflow
:
CREATE USER airflow;
CREATE DATABASE airflow;
GRANT ALL PRIVILEGES ON DATABASE airflow TO airflow;
現在您已准備好使用 postgres 初始化 airflow 應用程序:
airflow initdb
如果一切正常,再次訪問 psql 命令行,使用\c airflow
命令輸入 airflow 數據庫並鍵入\dt
命令以列出該數據庫的所有表。 您應該看到 airflow 表的列表,目前是 23。
除了添加到airflow.cfg
文件之外的另一種選擇
是將 ENV 變量AIRFLOW__CORE__SQL_ALCHEMY_CONN
設置為您想要的 postgresql 服務器。
示例: export AIRFLOW__CORE__SQL_ALCHEMY_CONN_SECRET=sql_alchemy_conn
或者您可以在您的 Dockerfile 設置中進行設置。
請參閱此處的文檔
通過執行以下 4 個步驟,我能夠使其工作:
airflow.cfg
文件。airflow.cfg
中的sql_alchemy_conn
行以指向您的 PostgreSQL 服務器。airflow
角色 + 數據庫。 (撤銷所有對 airflow 數據庫的公共權限並確保 airflow 角色擁有 airflow 數據庫!)airflow initdb
) 並確認您在airflow
數據庫中看到 ~19 個表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.