[英]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.