使用 EKS 将 dbt 连接到 Airflow

Connect dbt to Airflow using EKS

我们目前在 AWS EKS 中部署了 helm Airflow 并希望从中触发 dbt 模型。

几个问题: 1。部署 dbt 的理想方式是什么? 我正在考虑仅为 dbt 部署另一个容器或在同一个容器中安装 dbt 运行通过 pip 或 brew 安装 Airflow。

2。如果 运行 dbt 的理想方式是在它自己的容器中,我该如何将 airflow 连接到 dbt?

欢迎随时补充任何相关信息!

  1. 我认为您应该考虑切换到 Apache Airflow 社区最近发布的官方图表:https://airflow.apache.org/docs/helm-chart/stable/index.html - 它由构建 Airflow 的同一个社区准备和维护。

    1. 我认为您可以在这个天文学家的博客中找到关于如何集成 dbt 的最佳描述之一:https://www.astronomer.io/blog/airflow-dbt-1

总结 - 如果您不想使用 dbt cloud,您可以将 dbt 安装为 pip 包,然后通过 Bash 脚本 运行 或使用专用的 DBT 操作符。如果您已经使用 Airflow through image,那么当应该在另一个图像中调用它时将 dbt 图像连接到它,虽然在技术上是可行的,但有点挑战并且可能不值得麻烦。

您应该简单地扩展 Airflow 图像并将 dbt 添加为 pip 包。您可以在此处了解如何扩展或自定义 Airflow Image:https://airflow.apache.org/docs/docker-stack/build.html

小跟进。不确定您是否看过上周 Airflow 峰会的演讲,但我强烈推荐它:https://airflowsummit.org/sessions/2021/building-a-robust-data-pipeline-with-the-dag-stack/ - 它可能会给您更多答案:)