BigQuery 数据处理与查询的深入解析
1. BigQuery 中的数组与结构体
在 BigQuery 里,数组和结构体是非常实用的数据结构。当我们摄入特定的 JSON 文件来创建表时,表中的 numtrips 列可能就是数组类型。数组是由非 NULL 元素组成的有序列表,例如 ARRAY<INT64> 就是整数数组。不过,从技术层面讲,数组中允许存在 NULL 元素,只要不尝试将其保存到表中就行。
以下这个例子就无法正常工作,因为它试图把包含 NULL 元素的数组 [1, NULL, 2] 保存到临时表中:
WITH example AS (
SELECT true AS is_vowel, 'a' as letter, 1 as position
UNION ALL SELECT false, 'b', 2
UNION ALL SELECT false, 'c', 3
)
SELECT ARRAY_AGG(IF(position = 2, NULL, position)) as positions from example
而下面这个例子可以正常运行,因为包含 NULL 元素的中间数组并没有被保存:
WITH example AS (
SELECT true AS is_vowel, 'a' as letter, 1 as position
UNION ALL SELEC
超级会员免费看
订阅专栏 解锁全文
3012

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



