BigQuery API限制超出错误 [英] BigQuery API limit exceeded error

查看:112
本文介绍了BigQuery API限制超出错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在tabledata.list中出现错误消息:

 超出API限制:无法返回超过API限制。要检索该行,请导出该表。 

未列在 https://cloud.google.com/bigquery/troubleshooting-errors#errortable



每次都会发生此错误。



我们可以将此表格正常导出到GCS。结果看起来很正常(没有非常大的行)。

我们设法在发生实际错误之前检索多个结果页。

  com.google.api.client.googleapis.json.GoogleJsonResponseException:403 Forbidden 
{
code:403,
错误:[{
domain:global,
message:API超出限制:无法返回超出API限制的行要检索行,请导出表。 ,
reason:apiLimitExceeded
}],
message:超出API限制:无法返回超过API限制的行。桌子。
}
,位于com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)〜[com.google.api-client.google-api-client-1.21。 0.jar:1.21.0]
,位于com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)〜[com.google.api-client.google-api客户端1.21.0.jar:1.21.0]
, client.google-api-client-1.21.0.jar:1.21.0]
,位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest $ 1.interceptResponse(AbstractGoogleClientRequest.java:321)〜[com。 google.api-client.google-api-client-1.21.0.jar:1.21.0]

这是什么意思?

解决方案

抱歉给您带来不便。



<这是一个已知的tabledata.list方法。
问题在于我们有一些基础设施限制,目前不可能从tabledata.list中返回很大的大的行。



是一个相对词。不幸的是,某些行在使用json表示时体积较小,但以内部格式表示时可能会消耗大量内存。



当前的解决方法如错误消息中所述:导出表。



从长远来看,我们正在积极努力改进我们的系统以克服这一限制。敬请关注:)

We've got error during tabledata.list with message:

API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table.

It is not listed at https://cloud.google.com/bigquery/troubleshooting-errors#errortable .

This error occurs every time.

We can export this table into GCS normally. Result looks normal (there are no extremely large rows).

We manage to retrieve several result pages before the actual error occurs.

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table.",
    "reason" : "apiLimitExceeded"
  } ],
  "message" : "API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table."
}
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145) ~[com.google.api-client.google-api-client-1.21.0.jar:1.21.0]
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113) ~[com.google.api-client.google-api-client-1.21.0.jar:1.21.0]
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40) ~[com.google.api-client.google-api-client-1.21.0.jar:1.21.0]
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321) ~[com.google.api-client.google-api-client-1.21.0.jar:1.21.0]

What does it mean? How can we resolve this error?

解决方案

Sorry about the inconvenience.

This is a known issue of tabledata.list method. The problem is that we have some infrastructure limitations that it is currently not possible to return very large row from tabledata.list.

large is a relative word. Unfortunately some row has small size when represented in json, but can consume lots of memory when represented in our internal format.

The current workaround is as mentioned in the error message: to export the table.

For the long-term, we are actively working on improving our system to overcome this limitation. Stay tuned :)

这篇关于BigQuery API限制超出错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆