在 GCP 中调度多个依赖 ETL

问题描述

我在 gcp 数据流虚拟机中使用 python 中的 apache beam 编写了不同的 ETL 管道。现在,如果一个人依赖其他人使用云功能和调度程序/或 Airflow,我们如何安排这些?

解决方法

您可以使用 cloud workflow 来实现这一点。

原则上,这里执行流程

  • 发出 HTTP 调用以运行您的数据流。
  • 答案为您提供一个 job_id
  • 做一个循环
    • 睡 1 分钟(例如)
    • 使用 job_id 获取作业状态
    • 如果仍在运行,请继续。如果不退出循环
  • 转到下一个 ETL 作业。

您可以使用 subworflow 来互通循环部分以等待数据流管道结束。

如果您需要更多指导来实现这一点,请告诉我。