优化Bigquery查询:Shuffle达到广播限制

时间:2015-10-23 14:01:19

标签: join google-bigquery

我正在尝试处理此查询。

SELECT
r.src,r.dst, ROUND(r.price/50)*50 pb,COUNT(*) results
FROM [search.interesting_routes] ovr
LEFT JOIN [search.search_results2] r ON ovr.src=r.src AND     ovr.dst=r.dst
WHERE DATE(r.saved_at) >= '2015-10-1' AND DATE(r.saved_at) <= '2015-10-01'  AND r.price < 20000
GROUP BY pb, r.src, r.dst
ORDER BY pb

search_results2 包含大量关于路线价格的搜索结果(路线由 src dst 定义)。 我需要为 interesting_routes 中的每条记录计算 search_results2 中所有记录的不同价格桶。

查询在小数据样本上工作正常,但一旦数据很大,就会以

结束
  

错误:Shuffle达到了表__I0的广播限制(播放时为   至少176120970字节)。考虑使用分区连接而不是   广播加入。

我很难使用建议的分区连接来重写SELECT。或者至少以某种方式获得结果。

0 个答案:

没有答案