数据加载简介
本文档介绍了如何将数据加载到 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 是一个数据交换平台,可实现数据共享。
使用日志数据运行查询
您可以在不创建额外加载作业的情况下对日志运行查询:
借助 Cloud Logging,您可以将日志路由到 BigQuery 目标位置。
借助 Log Analytics,您可以运行查询来分析日志数据。
后续步骤
- 了解如何使用 Gemini in BigQuery 准备数据。
- 详细了解如何使用 Dataform 转换数据。
- 如需详细了解如何监控加载作业,请参阅管理作业探索器和 BigQuery 指标。