0

我正在使用 Java 客户端 API 发送一些查询。但在 4 - 5 次查询后出现以下错误。

com.google.api.client.auth.oauth2.TokenResponseException: 403 User Rate Limit Exceeded
<HTML>
<HEAD>
<TITLE>User Rate Limit Exceeded</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>User Rate Limit Exceeded</H1>
<H2>Error 403</H2>
</BODY>
</HTML>

因此,我访问了 Google API 的控制台并将“每用户限制”增加到 100.0 个请求/秒/用户,最初设置为 5 个请求/秒/用户。

但它似乎没有任何效果。

此配置当前是否有效?

4

1 回答 1

1

请参阅此页面:https ://developers.google.com/bigquery/docs/quota-policy 速率限制是您最多可以拥有 200GB 的未完成查询 + 一个任意大小的查询。

对于未完成的查询,这意味着查询正在扫描的数据量。如果您有一个包含 10 个相同大小的字符串字段的 1TB 表,这意味着引用其中两个字段的查询将需要 200GB 扫描。BigQuery UI 显示查询扫描的数据量,或者如果您直接使用 API,您可以在生成的查询作业统计信息中找到它。

例如,您可以同时运行 4 个正在扫描 50GB 的查询和一个正在扫描 4TB 的查询。

如果这些限制过于严格,您可以使用没有任何同时查询限制但运行速度慢得多的批处理模式

这是为了防止客户垄断我们的集群并降低其他用户的性能,并鼓励他们分散查询。

此外,如果您尚未启用计费,则配额限制会显着降低,因为您仅限于免费配额。

于 2012-07-13T16:57:36.280 回答