BigQuery中对于数组大小有一定的限制,最大数组大小受到列大小的限制,例如在一列中最大的数组元素数为16777216。以下是一个示例代码,通过尝试创建一个大于最大数组大小的数组来展示这个限制:
#standardSQL
SELECT ARRAY_AGG(x ORDER BY x) as big_array
FROM UNNEST(GENERATE_ARRAY(1, 16777217)) x
运行上述查询会产生以下错误信息:
Cannot return an array of size 33554433 because it exceeds the maximum allowed size of 16777216.
因此,在BigQuery中使用数组时需要注意数组大小的限制。