查询GROUP EACH BY爆炸

时间:2014-05-29 20:16:04

标签: google-bigquery

我在128GB表上运行以下查询,行数为2.2亿行:

select id, count(*) as cnt 
from logs.nobids_05 
group each by 1 
having cnt > 1 
limit 10;

在“查询执行期间超出资源”错误时失败。

这个表中的id应该是唯一的,我想检查一下是否确实如此。

有没有办法运行此查询?

据我所知,后面的算法应该产生一个与原始表大小相似的临时哈希表。 bigquery(dremel)是否仍然限制每个查询可以创建的临时数据量?

您对解决方法有什么建议吗?

1 个答案:

答案 0 :(得分:2)

现在已经修复了。您不应再看到此查询超出资源,并且许多其他查询不应再遇到此问题。如果您仍然遇到问题,请ping该帖。

背景:

当您使用GROUP EACH BY时,BigQuery会猜测GROUP EACH BY操作中涉及的数据大小(从技术上讲,它关心密钥的基数)。有时这很容易,有时却不容易。

此配置阈值设置得太小;也就是说,对于给定的查询,我们没有为GROUP EACH BY操作提供足够的资源来成功。