数据加载简介

本文档介绍了如何将数据加载到 BigQuery 中。数据集成的两种常见方法是提取、加载和转换 (ELT) 数据,或提取、转换和加载 (ETL) 数据。

如需简要了解 ELT 和 ETL 方法,请参阅加载、转换和导出数据简介

加载或访问外部数据的方法

您可以使用以下方法将数据加载到 BigQuery 中或从 BigQuery 访问数据。根据您的应用场景和数据源,选择以下选项之一:

加载方法 说明
批量加载 此方法适用于从各种来源批量加载大量数据。

如需从 Cloud Storage 和其他受支持数据源批量或增量加载数据,我们建议您使用 BigQuery Data Transfer Service

借助 BigQuery Data Transfer Service,您可以安排加载作业,以自动执行将数据加载到 BigQuery 的工作流。您可以定期安排一次性或批量数据转移(例如每天或每月)。为确保您的 BigQuery 数据始终是最新的,您可以监控和记录转移作业。

如需查看 BigQuery Data Transfer Service 支持的数据源列表,请参阅支持的数据源
流式加载 此方法可让您近乎实时地从消息传递系统加载数据。

如需将数据流式传输到 BigQuery,您可以使用 Pub/Sub 中的 BigQuery 订阅。Pub/Sub 可以处理高吞吐量的数据加载到 BigQuery 中。它支持实时数据流,并在生成数据时加载数据。如需了解详情,请参阅 BigQuery 订阅
变更数据捕获 (CDC) 此方法可让您近乎实时地将数据从数据库复制到 BigQuery。

Datastream 可以通过近乎实时的复制将数据从数据库流式传输到 BigQuery 数据。Datastream 利用 CDC 功能来跟踪和复制数据源中的行级更改。

如需查看 Datastream 支持的数据源列表,请参阅来源
与外部数据源联合 此方法可让您在不将外部数据加载到 BigQuery 中的情况下访问外部数据。

BigQuery 支持通过 Cloud Storage 和联合查询访问部分外部数据源。这种方法的优势在于,您无需先加载数据,然后再对其进行转换以供后续使用。您可以通过对外部数据运行 SELECT 语句来执行转换。

您还可以使用以下程序化方法来加载数据:

加载方法 说明
批量加载 您可以通过创建加载作业,从 Cloud Storage 或本地文件加载数据

如果源数据不经常更改,或者您不需要持续更新的结果,则加载作业可以作为一种费用较低、资源消耗较少的方式将数据加载到 BigQuery 中。

加载的数据可以采用 Avro、CSV、JSON、ORC 或 Parquet 格式。如需创建加载作业,您还可以使用 LOAD DATA SQL 语句。

Spark 和各种 ETL 合作伙伴等热门开源系统也支持将数据批量加载到 BigQuery 中。
流式加载 如果您必须支持自定义流式数据源,或者必须在以高吞吐量将数据流式传输到 BigQuery 之前对数据进行预处理,请使用 Dataflow

如需详细了解如何将数据从 Dataflow 加载到 BigQuery,请参阅将数据从 Dataflow 写入 BigQuery

您也可以直接使用 BigQuery Storage Write API

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

获取数据的其他方式

您可以在不将数据自行加载到 BigQuery 中的情况下对数据运行查询。以下部分介绍了一些替代方案。

以下列表介绍了其中一些替代方案:

对公共数据运行查询

公共数据集是存储在 BigQuery 中并公开共享的数据集。如需了解详情,请参阅 BigQuery 公共数据集

对共享数据运行查询

如需对他人与您共享的 BigQuery 数据集运行查询,请参阅 Analytics Hub 简介。Analytics Hub 是一个数据交换平台,可实现数据共享。

使用日志数据运行查询

您可以在不创建额外加载作业的情况下对日志运行查询:

后续步骤