加载、转换和导出数据简介

本文档介绍使用“提取、加载和转换”(ELT) 或“提取、转换和加载”(ETL) 流程在 BigQuery 中加载和转换数据的数据集成方法。此外还介绍了如何从 BigQuery 导出数据以在其他系统中应用数据洞见,这个功能称为反向 ETL。

决定使用 ELT 还是 ETL

通常在将数据加载到 BigQuery 之前或之后对数据进行转换。是先转换数据然后加载到 BigQuery 中(提取-转换-加载,即 ETL 方法),还是先将原始数据加载到 BigQuery 中,然后使用 BigQuery 执行转换(提取-加载-转换,即 ELT 方法),这是你需要进行的基本决定。

下图显示了将数据集成到 BigQuery 中的不同方法:使用 ELT 或 ETL。

将数据集成到 BigQuery 的 ELT 或 ETL 工作流中使用的产品的决策树

一般来说,我们建议大多数客户采用 ELT 方法。ELT 工作流将复杂的数据集成拆分为两个可管理的部分:提取和加载,然后转换。用户可以根据自己的需求选择数据加载方法。将数据加载到 BigQuery 后,熟悉 SQL 的用户可以使用 Dataform 等工具开发转换流水线。

以下各部分更详细地介绍了每个工作流。

加载和转换数据

通常在将数据加载到 BigQuery 之前或之后对数据进行转换。以下部分介绍了两种常见的数据集成方法:ETL 和 ELT。

ELT 数据集成方法

如使用提取-加载-转换 (ELT) 方法,您将通过两个独立的步骤执行数据集成:

  • 提取和加载数据
  • 转换数据

例如,您可以从 JSON 文件来源提取数据并加载到 BigQuery 表中。然后,您可以使用流水线提取字段并将其转换到目标表中。

ELT 方法可以通过以下方式简化数据集成工作流:

  • 无需使用其他数据处理工具
  • 将复杂的数据集成流程拆分为两个可管理的部分
  • 充分利用 BigQuery 的功能来大规模准备、转换和优化数据

提取和加载数据

在 ELT 数据集成方法中,您可以从数据源提取数据,并使用任何受支持的加载或访问外部数据的方法将其加载到 BigQuery 中。

在 BigQuery 中转换数据

将数据加载到 BigQuery 后,您可以使用以下工具准备和转换数据:

  • 如需协作式构建、测试、记录和安排高级 SQL 数据转换流水线,请使用 Dataform
  • 对于按时间表执行 SQL 代码、Python 笔记本或数据准备的较小的数据转换工作流,请使用 BigQuery 流水线
  • 如需清理数据以进行分析,请使用 AI 增强的数据准备

这些工具均由 Dataform API 提供支持。

如需了解详情,请参阅转换简介

ETL 数据集成方法

使用提取-转换-加载 (ETL) 方法时,您在数据加载到 BigQuery 之前提取和转换数据。如果您已有数据转换流程,或者希望减少 BigQuery 中的资源使用量,这种方法会很有用。

Cloud Data Fusion 可在 ETL 流程中提供协助。BigQuery 还可与转换数据并将数据加载到 BigQuery 中的第三方合作伙伴搭配使用。

导出数据

在 BigQuery 中处理和分析数据后,您可以导出结果,以便在其他系统中应用。BigQuery 支持以下导出:

  • 将查询结果导出到本地文件、Google 云端硬盘、Google 表格
  • 将表或查询结果导出到 Cloud Storage、Bigtable、Spanner 和 Pub/Sub

此过程称为反向 ETL。

如需了解详情,请参阅 BigQuery 中的数据导出简介

后续步骤