数据加载简介
本文档介绍了如何将数据加载到 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 或适用于 Apache Flink 的 BigQuery Engine。 如需详细了解如何从 Dataflow 加载到 BigQuery,请参阅从 Dataflow 写入 BigQuery。 您也可以直接使用 BigQuery Storage Write API。 |
Cloud Data Fusion 有助于简化 ETL 流程。BigQuery 还可与将数据转换并加载到 BigQuery 中的第三方合作伙伴搭配使用。
获取数据的其他方式
您可以对数据运行查询,而无需自行将数据加载到 BigQuery 中。以下部分介绍了一些替代方案。
以下列表介绍了一些替代方案:
对公共数据运行查询
公共数据集是存储在 BigQuery 中并公开共享的数据集。如需了解详情,请参阅 BigQuery 公共数据集。
对共享数据运行查询
如需对他人与您共享的 BigQuery 数据集运行查询,请参阅 Analytics Hub 简介。Analytics Hub 是一个数据交换平台,可实现数据共享。
使用日志数据运行查询
您可以对日志运行查询,而无需创建额外的加载作业:
借助 Cloud Logging,您可以将日志路由到 BigQuery 目标位置。
借助 Log Analytics,您可以运行查询来分析日志数据。
后续步骤
- 了解如何在 BigQuery 中使用 Gemini 准备数据。
- 详细了解如何使用 Dataform 转换数据。
- 如需详细了解如何在管理作业浏览器和 BigQuery 指标中监控加载作业,请参阅相关文档。