BigQuery数据传输与处理全攻略
1. 数据传输基础
在数据处理过程中,将数据从各种来源定期传输到 BigQuery 是一项常见需求。我们可以使用联合查询将选定的表导出到 BigQuery 内部表,并且可以安排定期的数据摄取操作。
1.1 数据传输服务
BigQuery 数据传输服务允许我们安排从各种数据源定期将数据加载到 BigQuery 中。可以通过 Web UI、命令行工具或 REST API 来访问该服务,为了便于重复操作,这里主要介绍命令行工具的使用。
配置数据传输后,BigQuery 会按照指定的时间表自动加载数据。如果原始数据出现问题,还可以通过 Web UI 发起数据回填操作,这也被称为刷新。
该服务支持从多种 SaaS 应用(如 Google Ads、Google Play、Amazon Redshift 和 YouTube)以及 Google Cloud Storage 加载数据。下面以 YouTube 频道报告为例,介绍如何设置从 Cloud Storage 定期摄取文件的流程。
1.2 数据本地性
BigQuery 数据集是在特定区域(如东京所在的 asia - northeast1)或多区域位置(如 EU)创建的。当设置数据传输服务到某个数据集时,数据会在与目标 BigQuery 数据集相同的位置进行处理和暂存。
如果 Cloud Storage 存储桶与 BigQuery 数据集位于同一区域,数据传输不会产生费用;但如果在不同区域之间传输数据(例如从一个区域的 Cloud Storage 存储桶到另一个区域的 BigQuery 数据集),则会