BigQuery 简单查询与数据操作指南
1. BigQuery 的 SQL 方言
BigQuery 支持符合 SQL:2011 的方言。当规范不明确或缺失时,它会遵循现有 SQL 引擎的约定。在一些没有规范的领域,如机器学习,BigQuery 会定义自己的语法和语义。
1.1 旧版 SQL(Legacy SQL)
过去,BigQuery 仅支持有限的 SQL 子集,并带有一些 Google 增强功能。这是因为它基于 Google 内部的 SQL 查询引擎 Dremel,该引擎最初用于处理 Protocol Buffers(Protobufs)中的日志数据。由于 Dremel 并非通用的 SQL 引擎,它使用的 SQL 方言(即旧版 SQL)非常适合处理层次结构的 Protobufs。例如,在 Dremel 中, COUNT(*) 会计算最重复字段中的非 NULL 值数量。
现在,建议使用标准 SQL。Google Cloud Platform(GCP)Cloud Console 中的 BigQuery 用户界面(UI)默认使用标准 SQL,新功能也不会再移植到旧版 SQL。但有些工具和用户界面仍默认使用旧版 SQL,若遇到这种情况,可在查询的第一行添加 #standardsql ,示例如下:
#standardsql
SELECT DISTINCT gender
FROM `bigquery-public-data`.new_york_citibike.citibike_trips
超级会员免费看
订阅专栏 解锁全文

43

被折叠的 条评论
为什么被折叠?



