使用 ETL 工具 (Fivetran/Hevo)、dbt 和反向 ETL 工具 (Hightouch) 创建顺序工作流程

问题描述 投票:0回答:4

我在一家初创公司工作,正在从头开始建立我们的分析技术堆栈。由于资源有限,我们专注于使用第三方工具而不是构建自定义管道。

我们的堆栈如下:

ELT 工具: Fivetran 或 Hevo
数据仓库: BigQuery
转型: dbt 云
反向 ETL: Hightouch(如果我们使用 Fivetran - hevo 内置了反向 ETL)
BI 工具: Tableau

我遇到的问题是:

无论是 Fivetran 还是 Hevo,下面的工作流程都会出现中断,我们必须切换工具,并且工具本身没有集成来根据上一个作业的完成顺序触发作业。

用例(工作流程):将数据加载到仓库中 -> 使用 dbt 进行转换 -> 将仓库中的 etl 数据反向返回到像 mailchimp 这样的工具中以用于营销目的(例如,未执行某些操作的用户 ID 列表和因此,我们希望向通过每天运行的 dbt 作业生成的列表发送一封提示电子邮件)

以下是这些工作流程在相应工具中的外观(E = 提取、L = 加载、T = 转换)

Hevo: E+L (hevo) -> 工作流程中断 -> T:dbt 作业(无法在 hevo UI 内触发) -> 工作流程中断 -> 反向 E+L:可以在 hevo UI 中完成,但可以由 dbt 作业触发

Fivetran: E+L ( Fivetran) -> T:dbt 作业(可以在 Fivetran UI 中触发) -> 工作流程中断 -> 反向 E+L Fivetran 与一家名为 hightouch 的公司合作,但没有办法根据 Fivetran/dbt 作业的完成触发 hightouch 作业。

我们当然可以以基于时间的方式同步它们,但这意味着如果前一个作业失败,后续作业仍然运行,这意味着会产生不必要的成本,并且能够从上一个作业重新触发整个工作流程也很好。调试完后断点。

通过在线阅读,我认为像 apache Airflow 这样的东西可以用于这种类型的用例,但这就是我迄今为止所得到的。

提前致谢。

airflow etl workflow dbt fivetran
4个回答
1
投票

您正在寻找数据协调器。 Airflow 是最受欢迎的选择,但 Dagster 和 Prefect 是新的挑战者,它们具有一些非常好的功能,专门用于管理数据管道(相对于 Airflow,它是为不一定传递数据的任务管道而构建的)。

所有这 3 个工具都是开源的,但协调器很快就会变得复杂,除非您能够轻松部署 Kubernetes 并管理复杂的基础设施,否则您可能需要考虑托管(付费)解决方案。 (Hosted Airflow 的品牌名称为 Astronomer)。

由于这种复杂性,您应该问自己今天是否真的需要一个协调器,或者您是否可以等待实施一个。有一些hacky/脆弱的方法来协调这些工具(例如,cron、GitHub Actions、让下游工具轮询新数据等),并且在初创公司的规模(一个人的数据团队)下,你实际上可能能够移动很多在一段时间内使用 hacky 解决方案更快。如果加载数据和转换数据之间存在 1 小时的延迟,这真的会影响您的用户吗?与花费时间建模更多数据或构建更多报告相比,通过缩小这一差距可以为业务增加多少价值?实际上,对于一个刚接触该领域的人来说,您可能需要花费的努力,直到协调者增加价值;只有您知道该投资是否有投资回报率。


0
投票

我使用 Dagster 来编排多个 dbt 项目或 dbt 模型与其他数据管道进程(例如数据库初始化、pyspark 等)

这里有更详细的描述演示代码


0
投票

您可以尝试以下工作流程,其中您需要使用更多附加工具,但它不需要您在编排方面进行任何自定义工程工作。

E+L ( Fivetran) -> T:使用 Shipyard 触发 dbt 云作业 -> 反向 E+L:在 dbt 云作业完成时触发 HightouchCensus 同步

这应该在单个流程中运行整个管道。


0
投票

您应该看看世界上第一个基于聊天的数据工程工具,由人工智能“Ask On Data”提供支持:https://www.askondata.com只需输入英语并创建数据管道

  • 零学习曲线。输入并完成。
  • 无需任何技术知识。任何人都可以使用
  • 自动记录
  • 以打字速度超快的开发速度,与其他工具相比节省约93%的时间
  • 如果您使用 Snowflake、Databricks 等平台,可以通过解耦处理节省基础设施资金
© www.soinside.com 2019 - 2024. All rights reserved.