如何找到Airflow后端数据库的模式?

3

我正在使用谷歌云组合器上的Apache Airflow(版本1.10.2),我想查看Airflow数据库的架构。请问我在哪里可以找到这些信息?


为什么你需要这些信息?你想要查询数据库吗?如果你可以请求数据库,你可以通过反向工程生成模式。 - undefined
2个回答

1

我能想到几种比较我们当前设计的方法。

  • 外部元数据数据库。如果您可以连接到数据库,那么可以获取模式。
  • 从您的用户界面(UI)中,您可以进入数据分析,并针对元数据表运行查询(取决于您的数据库类型(mysql或postgres等)),从那里找到信息并创建模式图。

希望这可以帮助您。


1
根据架构设计,Cloud SQL是存储所有Airflow元数据的主要位置。然而,为了授予客户端应用程序在GKE集群上访问数据库的授权访问权限,我们使用Cloud SQL Proxy服务。特别是在Composer环境中,我们可以找到airflow-sqlproxy* Pod,利用与Airflow Cloud SQL实例的连接。
因此,我相信从任何GKE集群工作负载(Pod)建立与上述Airflow数据库的连接不会有任何问题。
例如,我将从Airflow worker执行连接,达到airflow-sqlproxy-service.default Cloud SQL代理服务,并通过mysql命令行工具进一步执行DB发现:
 kubectl -it exec $(kubectl get po -l run=airflow-worker -o jsonpath='{.items[0].metadata.name}' \
    -n $(kubectl get ns| grep composer*| awk '{print $1}')) -n $(kubectl get ns| grep composer*| awk '{print $1}') \
    -c airflow-worker -- mysql -u root -h airflow-sqlproxy-service.default

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show databases;
    +----------------------------------------+
    | Database                               |
    +----------------------------------------+
    | information_schema                     |
    | composer-1-8-3-airflow-1-10-3-*        |
    | mysql                                  |
    | performance_schema                     |
    | sys                                    |
    +----------------------------------------+
    5 rows in set (0.00 sec)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接