持续查询简介

本文档介绍了 BigQuery 持续查询。

BigQuery 持续查询是连续运行的 SQL 语句。借助持续查询,您可以实时分析 BigQuery 中的传入数据。您可以将持续查询生成的输出行插入 BigQuery 表中,也可以将其导出到 Pub/Sub 或 Bigtable。持续查询可以使用以下方法之一处理已写入标准 BigQuery 表的数据:

您可以使用持续查询执行对时间敏感的任务,例如创建数据分析并立即采取行动、应用实时机器学习 (ML) 推断以及将数据复制到其他平台。这样,您就可以将 BigQuery 用作应用决策逻辑的事件驱动型数据处理引擎。

下图展示了常见的持续查询工作流:

显示持续查询的常见工作流的图表。

使用场景

您可能需要使用持续查询的常见用例如下:

  • 个性化客户互动服务:使用生成式 AI 为每次客户互动创建量身定制的消息。
  • 异常值检测:构建解决方案,可让您对复杂数据实时执行异常值和威胁检测,以便更快地应对问题。
  • 可自定义的事件驱动型流水线:使用 Pub/Sub 的持续查询集成,根据传入数据触发下游应用。
  • 数据丰富化和实体提取:使用持续查询,通过 SQL 函数和机器学习模型执行实时数据丰富化和转换。
  • 反向提取、转换和加载(反向 ETL):对更适合低延迟应用服务的其他存储系统执行实时反向 ETL。例如,分析或增强写入 BigQuery 的事件数据,然后将其流式传输到 Bigtable 以供应用服务。

支持的操作

持续查询支持以下操作:

授权

如需执行长时间运行的持续查询,请使用服务账号,而不是用户账号。

运行持续查询作业时使用的 Google Cloud 访问令牌由用户账号生成后,存留时间 (TTL) 为两天。因此,此类作业会在两天后停止运行。服务账号生成的访问令牌不受 TTL 限制,因此服务账号执行的持续查询作业会一直运行,直到明确取消为止。如需了解详情,请参阅使用服务账号运行持续查询

位置

USEU 多区域支持持续查询。

限制

持续查询存在以下限制:

预留限制

  • 您必须创建企业版或企业 Plus 版预留才能运行持续查询。持续查询不支持按需计算结算模式。
  • 为持续查询创建预留分配时,关联的预留不得超过 500 个槽,并且无法配置为使用自动扩缩
  • 持续查询预留分配不会共享空闲槽,即使预留配置为共享槽也是如此。
  • 您不能在同一预留中创建使用与持续查询预留分配不同的作业类型的预留分配。
  • 您无法配置持续查询并发。BigQuery 会根据使用 CONTINUOUS 作业类型的可用预留分配,自动确定可以并发运行的持续查询的数量。
  • 使用同一预留运行多个持续查询时,单个作业可能无法公平地拆分可用资源(由 BigQuery 公平性定义)。

价格

持续查询使用 BigQuery 容量计算价格,该价格以为单位。如需运行持续查询,您必须拥有使用企业版或企业 Plus 版预留以及使用 CONTINUOUS 作业类型的预留分配

其他 BigQuery 资源的使用(例如数据注入和存储)将按照 BigQuery 价格中显示的费率收费。

接收持续查询结果或在持续查询处理期间被调用的其他服务的使用,将按照针对这些服务发布的费率收费。如需了解持续查询使用的其他 Google Cloud 服务的价格,请参阅以下主题:

后续步骤

尝试创建持续查询