我正在使用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个请求/秒/用户。
但它似乎没有任何效果。
此配置目前有效吗?
本
答案 0 :(得分:1)
查看此页面:https://developers.google.com/bigquery/docs/quota-policy 速率限制是您最多可以拥有200GB的未完成查询+一个任意大小的查询。
通过未完成的查询,这意味着查询扫描的数据量。如果您有一个包含10个相同大小字符串字段的1TB表,则表示引用其中两个字段的查询需要200GB扫描。 BigQuery UI显示查询扫描的数据量,或者如果您直接使用API,则可以在生成的查询作业统计信息中找到它。
例如,您可以有4个扫描50GB的查询和一个同时运行扫描4TB的查询。
如果这些限制过于严格,您可以使用不具有任何同时查询限制的批处理模式,但 运行速度要慢得多。
这是为了防止客户垄断我们的群集并降低其他用户的性能,并鼓励他们分散他们的查询。
此外,如果您未启用了结算功能,则配额限制会显着降低,因为您已限制为免费配额。