如何使用 BigQuery Slots

问题描述 投票:0回答:3

嗨,那里。

最近,我想在bigquery web UI中使用“group by”对一些表(表名适合xxx_mst_yyyymmdd)运行查询。行数将超过1000万。不幸的是,查询失败并出现以下错误:

查询失败 错误:查询执行期间超出资源。

我对我的查询语言做了一些改进,这次错误可能不会发生。但是随着我的数据的增加,将来也会出现该错误。所以我检查了Bigquery的最新版本,也许有两种方法解决这个问题:

1.2016/01/01之后,Bigquery将更改查询定价层以满足“高计算层”,这样“resourcesExceeded错误”将不会再次发生。

2.BigQuery 插槽。 我在Google上查了一些文档,没有找到如何使用BigQuery Slots的方法。有没有BigQuery Slots的示例或用例?或者我必须联系BigQuery团队才能打开该功能?

希望有人能帮我解答这个问题,非常感谢!

google-bigquery
3个回答
2
投票

几点:

  1. 令我惊讶的是,基数为 10M 的 GROUP BY 因资源超出而失败。您能否提供失败查询的作业 ID,以便我们进行调查?您提到,随着数据大小的增加,您担心会更频繁地遇到这些错误;您应该能够将数据大小增加几个数量级而不会看到这一点;您的查询或数据可能遇到错误或奇怪的情况。

  2. “高计算层”不一定会消除资源超出。在大多数情况下,resourcesExceeded 意味着 BigQuery 遇到了内存限制;高计算层仅解决 CPU 使用率问题。 (请注意,它们尚未启用)。

  3. BigQuery 槽使您能够更快地处理数据并获得更可靠的性能。在大多数情况下,它们也无助于防止 resourcesExceeded 错误。

  4. 目前(截至 11 月 5 日)存在一个错误,您可能需要提供带有 GROUP BY 的 EACH 关键字。最近的更改应该使 BigQuery 能够自动选择执行策略,因此不需要 EACH,但在某些情况下它不会选择正确的策略。如有疑问,请在 JOIN 和 GROUP BY 操作中添加 EACH。


1
投票

要使您的项目有资格使用插槽,您需要联系支持人员。


0
投票

只是添加问题的输入,以防有人遇到类似的情况。这是一个 google-cloud documentation 可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.