BigQuery 加入广播限制错误

BigQuery join broadcast limit error

我是 运行 类似这样的查询:

SELECT date, group, COUNT(a.user_id) as count
FROM (
SELECT user_id, DATE(timestamp) as date
FROM [db.log_2015_08]
GROUP EACH BY user_id, date) as a
JOIN EACH (
SELECT user_id, group
FROM [db.users]) as b
ON a.user_id = b.user_id
GROUP BY date, group

并出现以下错误:

Error: Shuffle reached broadcast limit for table __I0 (broadcasted at least 137619698 bytes). Consider using partitioned joins instead of broadcast joins .

我使用 BigQuery 有一段时间了,这对我来说是个新东西!这是一个相当大的连接,但我觉得我以前做过类似的事情而没有这个错误。

尝试将 GROUP EACH BY 更改为 GROUP BY。聚合不再需要 EACH 关键字,事实上,如果您删除它,查询计划器会更智能一些。