【问题标题】:Connect dbt to Airflow using EKS使用 EKS 将 dbt 连接到 Airflow
【发布时间】:2021-07-22 18:05:19
【问题描述】:

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

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

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

请随时添加任何相关信息!

【问题讨论】:

    标签: airflow amazon-eks dbt


    【解决方案1】:
    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 Image 并将 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/ - 它可能会给你更多答案:)

    【讨论】:

    • 在单独的 docker 容器中部署 dbt 模型有什么好处?
    • @LeoC 在我的有限经验中,让 dbt 模型/在不同容器中运行的好处是能够准确定位仓库构建中可能遇到的位置模型失败。就个人而言,我很高兴能够看到气流 dbt 构建 dag 中哪些步骤成功和失败,每个步骤的操作员类似于 dbtCloud 作业如何显示运行中每个步骤的成功。
    • dbt 负责所有建模依赖项。听起来,通过对每个模型进行 dockerizing,我需要在 Airflow 中手动创建这些依赖项。对吗?
    猜你喜欢
    • 1970-01-01
    • 2018-01-09
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2021-12-13
    • 2021-02-28
    相关资源
    最近更新 更多