BigQuery API超出限制错误

Pav*_*lov 5 google-bigquery

tabledata.list期间出现错误,并显示以下消息:

API limit exceeded: Unable to return a row that exceeds the API limits. To retrieve the row, export the table.
Run Code Online (Sandbox Code Playgroud)

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

每次都会发生此错误。

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

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

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]
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我们如何解决这个错误?

小智 6

不便之处,敬请原谅。

这是tabledata.list方法的已知问题。问题是我们有一些基础架构限制,目前无法从tabledata.list 返回很大的行。

是相对词。不幸的是,当以json表示时,某些行的大小很小,但是以我们的内部格式表示时,可能会消耗大量内存。

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

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