- BigQuery 教程
- BigQuery - 首页
- BigQuery - 概述
- BigQuery - 初始设置
- BigQuery 与本地 SQL 引擎的比较
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 层级结构
- 什么是 Dremel?
- 什么是 BigQuery Studio?
- BigQuery - 数据集
- BigQuery - 表
- BigQuery - 视图
- BigQuery - 创建表
- BigQuery - 基本 Schema 设计
- BigQuery - 修改表
- BigQuery - 复制表
- 删除和恢复表
- BigQuery - 填充表
- 标准 SQL 与传统 SQL
- BigQuery - 编写第一个查询
- BigQuery - CRUD 操作
- 分区和聚类
- BigQuery - 数据类型
- BigQuery - 复杂数据类型
- BigQuery - STRUCT 数据类型
- BigQuery - ARRAY 数据类型
- BigQuery - JSON 数据类型
- BigQuery - 表元数据
- BigQuery - 用户定义函数
- 连接到外部数据源
- 集成计划查询
- 集成 BigQuery API
- BigQuery - 集成 Airflow
- 集成连接表格
- 集成数据传输
- BigQuery - 物化视图
- BigQuery - 角色和权限
- BigQuery - 查询优化
- BigQuery - BI 引擎
- 监控使用情况和性能
- BigQuery - 数据仓库
- 挑战和最佳实践
- BigQuery 资源
- BigQuery - 快速指南
- BigQuery - 资源
- BigQuery - 讨论
BigQuery - 概述
BigQuery 是 Google Cloud Platform (GCP) 的结构化查询语言 (SQL) 引擎。BigQuery 允许用户使用无服务器云基础设施即时查询、创建和操作数据集。因此,学生、专业人士和组织能够以几乎无限的规模存储和分析数据。
与其他一些 Google 计划一样,BigQuery 最初是 Google 开发人员用于处理和分析大型数据集的内部工具。自 2006 年以来,Google 员工一直在使用 BigQuery 及其前身 Dremel。在 Google 内部取得成功后,GCP 于 2010 年首次发布了 BigQuery 的测试版,然后在 2011 年将其广泛提供。
BigQuery 如何超越竞争对手?
尽管在 BigQuery 发布时市场上有很多 SQL 引擎和集成开发环境 (IDE),但 BigQuery 利用了几个竞争优势,其中包括:
- 开创了一种基于槽的查询系统,该系统可以根据用户需求自动分配计算能力或“槽”
- 提供与多种编程语言(从 Python 到 JavaScript)的 API 集成
- 使用户能够训练、运行和部署用 SQL 编写的机器学习模型
- 与 Google Data Studio(已弃用)和 Looker 等可视化平台无缝集成
- 能够存储和查询 ARRAY 和 STRUCT 类型,这两种都是复杂的 SQL 数据类型
为了帮助学生和专业人士,BigQuery 提供了关于函数、公共数据集和可用集成的可靠文档。
Google BigQuery 使用案例
如果使用得当,Google BigQuery 可以用作个人或组织的 数据仓库。但是,由于 BigQuery 面向 SQL,因此最适合用于具有结构化数据而不是非结构化数据的数据源。
Google 的云架构促进了可靠的存储并实现了几乎无限的可扩展性。这使得 BigQuery 成为企业的热门选择,尤其是在生成或摄取大量数据的组织中。
要真正理解 BigQuery 的强大功能,了解不同数据团队角色之间的用例差异非常有帮助。
- 数据分析师 - 将 BigQuery 与 Tableau 或 Looker 等数据可视化工具结合使用,为组织领导层创建顶级报告。
- 数据科学家 - 利用 BigQuery 的机器学习功能 Big ML 创建和实施 ML 模型。
- 数据工程师 - 使用 BigQuery 作为数据仓库并构建视图和用户定义函数等工具,使最终用户能够在清理后的预处理数据集中发现见解。
当结合使用时,BigQuery 提供了一个优化存储并生成细致入微的见解以提高增长和收入的机会。
在 BigQuery 中加载数据
在 BigQuery 中加载数据非常简单直观,云开发人员可以使用多种选项。BigQuery 可以以多种形式摄取数据,包括:
- CSV
- JSON
- Parquet
BigQuery 还可以与 Google 表格等 Google 集成同步以创建实时连接表。BigQuery 可以加载存储在 Google Cloud Storage 等云存储存储库中的文件。
开发人员还可以利用以下方法将数据干净地加载到 BigQuery 中:
- BigQuery 数据传输,一种与 GCP 数据(如 Google Analytics)集成的无代码数据管道。
- 包含 CRUD 语句以创建、删除或删除表的基于 SQL 的管道。
- 利用 BigQuery API 执行批处理或流加载作业的管道。
- 提供 BigQuery 连接的Fivetran等第三方管道。
定期从上述来源加载数据使下游利益相关者能够可靠地访问及时、准确的数据。
BigQuery 查询基础
了解 BigQuery 使用案例以及如何正确加载数据非常有帮助,但学习 BigQuery 的初学者很可能从查询层开始。
BigQuery 中的表引用约定
在编写第一个 SELECT 语句之前,了解 BigQuery 中的表引用约定非常有帮助。
BigQuery 的语法与其他 SQL 方言不同,因为正确的 BigQuery SQL 需要开发人员将表引用括在单引号中,如下所示:' '。
表引用涉及三个元素:
- 项目
- 数据集
- 表
组合在一起,当在 SQL 查询或脚本中引用 BigQuery 表时,它看起来像这样:
'my_project.dataset.table'
一个基本的 BigQuery 查询如下所示:
SELECT * FROM 'my_project.dataset.table.'
传统 SQL 和标准 SQL
BigQuery SQL 与其他类型的 SQL 之间的一个重要区别是,BigQuery 支持两种 SQL 分类:传统和标准。
- 传统 SQL 使用户能够使用旧的、可能已弃用的 SQL 函数。
- 标准 SQL 代表了 SQL 的更新解释。
出于我们的目的,我们将使用标准 SQL 指定。
在 BigQuery 中编写查询时需要注意的事项
与其他 SQL 环境不同,当您在 BigQuery 中编写查询时,UI 会自动告诉您查询是否会运行以及它将处理多少数据。请注意,处理的数据量与预计的执行时间之间几乎没有确定的相关性。
- 执行后,您的查询将返回在 UI 中可见的结果,这类似于查看电子表格或 Pandas 数据框。
- 您还可以选择将结果下载为 CSV 或 JSON 文件,这两种方法都提供了一种简单的方法来保存数据以便以后使用。
- 如果您需要保存查询文本以供以后运行或编辑,BigQuery 还提供了一个选项来保存查询并进行版本控制,以帮助跟踪更改。
在企业级运行 BigQuery
在拥有多个 BigQuery 用户的组织中运行查询时,务必牢记以下几个因素,以确保您的查询能够在不中断或不导致其他用户拥塞的情况下运行:
- 避免在高峰使用时间执行查询。
- 尽可能使用 WHERE 子句来缩小处理的数据量。
- 对于大型表,创建用户可以更轻松、更有效地查询的视图。
从学习 BigQuery 到在企业级运行查询需要时间来了解特定于您的组织的变量,例如槽使用情况和计算资源消耗。
但是,首先有必要更深入地了解如何在 BigQuery 中构建和优化查询。