您好,在那里。
最近,我想通过使用" group by"在bigquery web UI中运行查询。在某些表格(表格和名称适合xxx_mst_yyyymmdd)。行数将超过1000万。不幸的是,查询失败并出现此错误:
查询失败 错误:在查询执行期间超出了资源。
我用我的查询语言做了一些改进,错误可能不会发生在这个时间。但随着我的数据的增加,错误也将出现在未来。所以我检查了最新版本的Bigquery,也许有两个解决这个问题的方法:
1. 2016/01/01之后,Bigquery将更改查询定价级别以满足"高计算级别"这样" resourcesExceeded错误"不会再发生了。
2.BigQuery Slots。 我在谷歌检查了一些文件,并没有找到如何使用BigQuery Slots的方法。是否有BigQuery Slots的样本或用例?或者我必须联系BigQuery Team来打开这个功能?
希望有人能帮助我回答这个问题,非常感谢!
答案 0 :(得分:2)
有几点:
我很惊讶基数为10M的GROUP BY因超出资源而失败。您能提供失败查询的工作ID,以便我们调查吗?您提到您担心随着数据大小的增加更频繁地出现这些错误;你应该能够将数据量增加几个数量级而不会看到这个数字;可能你遇到了一个错误,或者你的查询或数据都很奇怪。
“高计算层”不一定会摆脱资源超过。在大多数情况下,resourcesExceeded意味着BigQuery遇到内存限制;高计算层仅解决CPU使用率问题。 (注意,它们尚未启用)。
BigQuery插槽使您能够更快地处理数据并获得更可靠的性能。在大多数情况下,它们也无助于防止资源超出错误。
目前(截至11月5日)您可能需要提供带有GROUP BY的EACH关键字。最近的更改应该使BigQuery能够自动选择执行策略,因此不需要EACH,但有几种情况下它不会选择正确的。如有疑问,请在JOIN和GROUP BY操作中添加EACH。
答案 1 :(得分:1)
要让您的项目有资格使用广告位,您需要与支持小组联系。