在大查询中响应太大

时间:2013-01-18 05:08:21

标签: google-bigquery

我无法通过查询来运行该组。

select phone_number, count(*) as cnt from Jan1013.abcd4 group by phone_number having cnt > 1

我收到一条错误,上面写着......

Error: Response too large to return.

1 个答案:

答案 0 :(得分:4)

BigQuery在许多不同节点上分发每个查询的工作。如果任何一个节点上的响应大小超过某个阈值,则会出现“响应太大”错误。如果您尝试在具有太多不同值的字段上执行GROUP BY,则每个单独的节点将需要计算大量响应行,并最终因此错误而失败。

解决该问题的一种方法是使用GROUP EACH BY,它通过组密钥的值为节点分配记录,减少每个节点需要考虑的不同值的数量。

另一种方法是调整查询,以便考虑较少的不同值,可能是通过添加选择phone_number值子集的WHERE子句。

另见: Filtering a query causes "Response too large" error