仅在大查询作业完成后触发数据流的方法



实际上是对我的数据的以下步骤:

GCS 存储桶中的新对象会触发 Google Cloud 函数,该函数会创建一个 BigQuery 作业,以将此数据加载到 BigQuery。

我需要低成本的解决方案来知道此大型查询作业何时完成,并仅在作业完成后触发数据流管道。

观察:

  • 我知道谷歌云功能的 BigQuery alpha 触发器,但
    我不知道是否是一个好主意,从我所看到的情况来看,这个触发器使用了该作业 id,从我所看到的无法修复并且每当运行作业时 显然必须再次部署该功能。当然
    ,这是一个阿尔法解决方案。
  • 我读到了有关堆栈驱动程序日志记录->发布/订阅->Google云功能->数据流解决方案的信息,但我没有找到任何指示作业已完成的日志
  • 我的文件很大,所以使用 Google 云函数等到作业完成不是一个好主意。

尽管您提到了堆栈驱动程序日志记录,但您可以将其与此过滤器一起使用

resource.type="bigquery_resource"
protoPayload.serviceData.jobCompletedEvent.job.jobStatus.state="DONE"
severity="INFO"

如果需要,还可以添加数据集筛选器。

然后,在此高级筛选器上创建 Function 接收器并运行数据流作业。

如果这不符合您的期望,您能详细说明原因吗?

您可以查看Cloud Composer,它由Apache Airflow管理,用于以顺序方式编排作业。编写器创建一个 DAG 并执行该 DAG 的每个节点,并检查依赖项以确保根据您定义的条件并行或按顺序运行。

你可以看看这里提到的例子 - https://github.com/GoogleCloudPlatform/professional-services/tree/master/examples/cloud-composer-examples/composer_dataflow_examples

相关内容

  • 没有找到相关文章