编排工作负载

BigQuery 任务通常是较大的工作负载的一部分,其中外部任务会触发 BigQuery 操作,然后被 BigQuery 操作触发。工作负载编排可帮助数据管理员、分析师和开发者整理和优化这一操作链,从而创建跨数据资源和过程的无缝连接。编排方法和工具可帮助设计、构建、实现和监控这些复杂的数据工作负载。

选择编排方法

如需选择编排方法,您应该确定工作负载是事件驱动型还是时间驱动型,或者同时是事件驱动型和时间驱动型。事件是指状态更改,例如更改数据库中的数据或将文件添加到存储系统。在事件驱动型编排中,网站上的操作可能会触发数据活动,或者到达特定存储桶的对象可能需要在到达时立即处理。在时间驱动型编排中,可能需要每天加载一次新数据,或者以足以生成每小时报告的频率加载新数据。如果您需要将对象实时加载到数据湖中,但每天仅生成一次数据湖活动报告,则可以使用事件驱动型和时间驱动型编排。

选择编排工具

编排工具可协助执行管理复杂数据工作负载所涉及的任务,例如将多个 Google Cloud 或第三方服务与 BigQuery 作业组合使用,或并行运行多个 BigQuery 作业。每个工作负载都对依赖项和参数管理有独特的要求,以确保使用正确的数据以正确的顺序执行任务。Google Cloud 提供了多种基于编排方法和工作负载要求的编排选项。

对于大多数使用场景,我们建议使用 Dataform、Workflows、Cloud Composer 或 Vertex AI Pipelines。下表列出了这些工具的并列比较:

Dataform Workflows Cloud Composer Vertex AI Pipelines
突出焦点 数据转换 微服务 ETL 或 ELT 机器学习
复杂性 * ** *** **
用户个人资料 数据分析师或管理员 数据架构师 数据工程师 数据分析师
代码类型 JavaScript 和 SQL YAML 或 JSON Python Python
无服务器? 全代管式
不适合 外部服务链 数据转换和处理 低延迟或事件驱动型流水线 基础架构任务

以下部分详细介绍了这些编排工具和其他几个工具。

计划查询

最简单的工作负载编排形式是直接在 BigQuery 中安排定期查询。虽然这是最简单的编排方法,但我们建议仅对没有外部依赖项的直接查询链使用此方法。以这种方式安排的查询必须使用 GoogleSQL 编写,并且可以包含数据定义语言 (DDL)数据操纵语言 (DML) 语句。

编排方法:时间驱动

Dataform

Dataform预览版)是一个基于 SQL 的免费转换框架,可在 BigQuery 中编排复杂的数据转换任务。原始数据加载到 BigQuery 后,Dataform 可帮助您创建经过整理和测试且受版本控制的数据集和表集合。如需详细了解如何将 Dataform 与 BigQuery 搭配使用,请参阅创建和执行 SQL 工作流

编排方法:事件驱动

Workflows

Workflows 是一种无服务器工具,能够以非常低的延迟时间编排基于 HTTP 的服务。它最适合用于链接微服务、自动执行基础架构任务、与外部系统集成或在 Google Cloud 中创建操作序列。如需详细了解如何将 Workflows 与 BigQuery 搭配使用,请参阅并行运行多个 BigQuery 作业

编排方法:事件驱动和时间驱动

Cloud Composer

Cloud Composer 是一款基于 Apache Airflow 构建的全代管式工具。它最适合用于提取、转换、加载 (ETL) 或提取、加载、转换 (ELT) 工作负载,因为它支持多种运算符类型和模式,并支持跨其他 Google Cloud 产品和外部目标执行任务。如需详细了解如何将 Cloud Composer 与 BigQuery 搭配使用,请参阅在 Google Cloud 中运行数据分析 DAG

编排方法:时间驱动

Vertex AI Pipelines

Vertex AI Pipelines 是一种基于 Kubeflow 流水线的无服务器工具,专门用于编排机器学习工作负载。它可以自动执行并连接模型开发和部署的所有任务(从训练数据到代码),可让您全面了解模型的工作原理。如需详细了解如何将 Vertex AI Pipelines 与 BigQuery 搭配使用,请参阅导出并部署 BigQuery 机器学习模型以进行预测

编排方法:事件驱动

Apigee Integration

Apigee Integration 是 Apigee 平台的扩展程序,包含连接器和数据转换工具。它最适合用于与 Salesforce 等外部企业应用集成。如需详细了解如何将 Apigee Integration 与 BigQuery 搭配使用,请参阅 Apigee Integration 和 Salesforce 触发器使用入门

编排方法:事件驱动和时间驱动

Cloud Data Fusion

Cloud Data Fusion 是一款数据集成工具,提供免代码 ELT/ETL 流水线以及 150 多个预配置的连接器和转换。如需详细了解如何将 Cloud Data Fusion 与 BigQuery 搭配使用,请参阅将数据从 MySQL 复制到 BigQuery

编排方法:事件驱动和时间驱动

Cloud Scheduler

Cloud Scheduler 是一个全代管式调度器,用于应按定义的间隔时间执行的批量流式传输或基础架构操作等作业。如需详细了解如何将 Cloud Scheduler 与 BigQuery 搭配使用,请参阅使用 Cloud Scheduler 安排工作流

编排方法:时间驱动

Cloud Tasks

Cloud Tasks 是一种全托管式服务,可用于在主工作负载之外独立执行作业的异步任务分发。最适合用于委派缓慢的后台操作或管理 API 调用速率。如需详细了解如何将 Cloud Tasks 与 BigQuery 结合使用,请参阅将任务添加到 Cloud Tasks 队列

编排方法:事件驱动

第三方工具

您还可以使用多种热门的第三方工具(如 CData 和 SnapLogic)来连接到 BigQuery。BigQuery Ready 计划提供经过验证的合作伙伴解决方案的完整列表

消息传递工具

许多数据工作负载需要在分离的微服务之间建立额外的消息传递连接,这些连接只有在发生特定事件时才需要激活。Google Cloud 提供了两个用于与 BigQuery 集成的工具。

Pub/Sub

Pub/Sub 是一种用于数据集成流水线的异步消息传递工具。它会注入和分发服务器事件和用户互动等数据,还可用于来自物联网设备的并行处理和数据流式传输。如需详细了解如何将 Pub/Sub 与 BigQuery 搭配使用,请参阅从 Pub/Sub 流式传输到 BigQuery

Eventarc

Eventarc 是一款事件驱动型工具,可让您管理整个数据流水线中的状态更改流。此工具有广泛的使用场景,包括自动修复错误、为资源加标签、修复图片等。如需详细了解如何将 Eventarc 与 BigQuery 搭配使用,请参阅使用 Eventarc 构建 BigQuery 处理流水线

后续步骤