3

我在 Cloud DataPrep 中创建了两个流 - 第一个输出到 BigQuery 表,还创建了一个参考数据集。第二个流程获取参考数据集并在输出到第二个 BigQuery 表之前对其进行进一步处理。

是否可以安排这两个流程按顺序运行?目前我必须估计第一个流程所花费的时间,并安排第二个流程在第一个流程之后运行 XX 分钟。

在第一个流程中触发第二个流程的配方,或者按顺序安排它们的方式都是理想的。

这个问题展示了如何创建参考数据集,但没有解释是否可以自动/按顺序运行它们。

4

1 回答 1

2

参考数据集的文档在某种程度上暗示了这种行为,但可能更清楚。

  • 使用第一个流作为参考数据集的第二个流将运行第一个流作业,因此使用流 2 的更新数据。
  • 但是导出到 BigQuery 不会执行流程 1 中的导出。

最简单的解决方案(但不一定是您想要的)是可以选择在 Flow 2 中从 Flow 1 执行 BigQuery 导出,即有一个简单的配方,除了托管导出作业之外什么都不做。

我使用的方案/作业稳定的解决方案是运行生成的 Dataflow 作业,而不是使用 Dataprep 工具本身来执行:在 Cloud Dataflow 上运行作业

您有几个选项可用于安排这两个 Dataflow 作业。(Cloud Scheduler 可能是一个不错的选择 - 它是一个新项目,我正在考虑替换我现在托管为 Cloud Functions 的自定义解决方案)

然而,就按顺序运行它们而言,BigQuery 没有可能触发 Job2 的更新事件,因此您可以将它们安排足够长的时间并希望 Job 1 尽快完成,或者您可以轮询 BigQuery 表元数据以查看是否修改日期更改。

于 2018-11-16T14:19:52.783 回答