在BigQuery上使用STRING_AGG时,是否可以捕获内存不足错误?

时间:2017-10-13 00:39:14

标签: sql google-bigquery string-aggregation

This question说明当您尝试使用BigQuery中的STRING_AGG聚合太多内容时会发生什么。

有没有办法可以做“尝试STRING_AGG,但如果数据太多,则返回null(或其他东西)”?所以我可以在没有查询失败的情况下从错误中退出。

1 个答案:

答案 0 :(得分:2)

What is the max limit of group_concat/string_agg in bigquery output?中,Elliott解释了为什么STRING_AGG可能会产生内存不足错误。

为防止出现此错误,您可以使用LIMIT在特定数量的字符串后停止聚合:

#standardSQL
SELECT STRING_AGG(CONCAT(word, corpus) LIMIT 10) AS words
FROM `bigquery-public-data.samples.shakespeare`
CROSS JOIN UNNEST(GENERATE_ARRAY(1, 1000));