BigQuery 中的相关计划 SQL 查询

Posted

技术标签:

【中文标题】BigQuery 中的相关计划 SQL 查询【英文标题】:Dependent scheduled SQL queries in BigQuery 【发布时间】:2021-07-07 11:03:44 【问题描述】:

我们在 BigQuery 中有一个带有 ELT 的数据管道。我们有几个转换。其中一些转换依赖于之前发生的其他转换。

对于 BigQuery 计划查询,我们只能设置一个时间,因此,如果我们有大缓冲区,系统会在很长一段时间内处于空闲状态,或者当依赖的计划查询彼此过于接近时,它们会重叠。如何在 BigQuery 中为具有依赖关系的转换管道建模?

[编辑] 我知道 AirFlow 等外部工具,但我只想使用 Google 服务。

【问题讨论】:

我建议使用一些工作流编排器(如气流)来管理您的转换。您可以轻松创建查询之间的依赖关系,而不是按时间。 查看 Magnus - Workflow Automator。支持所有 BigQuery、Cloud Storage 和大多数 Google API 以及多个简单的实用程序类型任务,例如 BigQuery 任务、导出到存储任务、循环任务等等,以及高级调度、触发等 - Potens.io Suite 的一部分可在Marketplace 获得。然而,该套件中的另一个工具是 Goliath - BigQuery 的 IDE。披露:我是这些工具的创造者,也是 Potens 团队的领导者。 谢谢,我知道气流,但希望有一个尽可能简单的解决方案。 【参考方案1】:

我们可以使用 Composer Airflow(Costly) 或 Cloud serverless 工作流等工作流编排解决方案来管理依赖关系和执行时间。

【讨论】:

以上是关于BigQuery 中的相关计划 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Big Query 的标准 SQL 中使用通配符为特定分区查询多个表

在 Python 中运行 BigQuery SQL 查询,如何进行身份验证?

如何使用计划查询刷新 Google Big Query 中的现有表?

Big Query - 使用旧版和普通 sql 时的用户数量不同

使用 Google Apps 脚本将查询中的数据加载到 Big Query - 缺少必需参数

在 SQL (Big Query) 中生成序列/范围/数组,其中最小值和最大值取自另一个表