BigQuery:使用GROUP EACH BY时响应太大而无法返回

时间:2013-05-02 22:38:40

标签: group-by google-bigquery

我正在使用的表有3个字段:

userId, timestamp, version

我正在运行以下查询:

select  userid, MAX(version) as current_version FROM  my_table GROUP EACH BY userId;

我得到的回应是:

"errors": [
 {
  "reason": "responseTooLarge",
  "message": "Response too large to return."
 }

表的大小为644MB,有12,279,432行。

我认为GROUP EACH BY没有结果大小限制,因为它分布在多个节点上。无论如何,我能做些什么呢?

1 个答案:

答案 0 :(得分:0)

根据评论,用户群超过1700万行?这意味着查询响应将至少有1700万行,结果太大而无法处理。

正确的查询取决于您的目标。你真的想获得1700万行答案吗?或者您只关心特定用户组的最大(版本)?

例如:

SELECT userid, MAX(version) AS current_version
FROM my_table
WHERE userId IN('user1', 'user2', ...)
GROUP BY userId;