Google bigquery 每个查询组按分解
我正在128GB表上运行以下查询,表中有2.2亿行:Google bigquery 每个查询组按分解,google-bigquery,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)是否仍然对每个查询可以创建的临时数据量有限制 您
select id, count(*) as cnt
from logs.nobids_05
group each by 1
having cnt > 1
limit 10;
它失败,出现“查询执行期间超出资源”错误
此表中的id应该是唯一的,我想检查是否确实如此
有没有办法运行此查询
我知道后面的算法可能会生成一个临时哈希表,其大小与原始表相似。bigquery(dremel)是否仍然对每个查询可以创建的临时数据量有限制
您对解决办法有什么建议吗?现在已经解决了。您不应再看到此查询超出了资源,许多其他查询也不应再遇到此问题。如果仍然存在问题,请ping线程 背景: 使用GROUPBY时,BigQuery会猜测GROUPBY操作中涉及的数据大小(从技术上讲,它关心键的基数)。有时这很容易,有时则不然
为此设置的配置阈值太小;也就是说,对于一个给定的查询,我们没有为它提供足够的资源,以使GROUPBY操作能够成功 不幸的是,添加目标表和设置allow_large_结果没有帮助。通过运行“SELECT count(distinct id)-count(id)FROM..”查询,我成功地验证了我们是否只有不同的值。它返回了大的非零值,所以我仍然需要原始查询,以便调试重复。各位,您是否考虑过为MapReduce公开一个最小的接口?即使是某种python接口,映射器接收protobuf对象(根据GC模式)并将reducer输出到GCS,也会非常有用。我们已经推出了一个修复程序,请重试。顺便说一句,BigQuery为Hadoop和其他客户端提供了一个连接器,可以从数据的分片访问中获益: