小编dav*_*vey的帖子

BigQuery:404“表被截断。” 当在截断之后插入时

我通过执行此处描述的 queryJob 截断我的表: https: //cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries

"truncate table " + PROJECT_ID + "." + datasetName + "." + tableName;
Run Code Online (Sandbox Code Playgroud)

我等到工作完成

queryJob = queryJob.waitFor();
Run Code Online (Sandbox Code Playgroud)

截断效果很好。

无论如何,如果我在截断操作之后立即进行插入

InsertAllResponse response = table.insert(rows);
Run Code Online (Sandbox Code Playgroud)

它导致

com.google.cloud.bigquery.BigQueryException: Table is truncated.
Run Code Online (Sandbox Code Playgroud)

具有以下日志:

Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
    POST https://www.googleapis.com/bigquery/v2/projects/[MYPROJECTID]/datasets/[MYDATASET]/tables/[MYTABLE]/insertAll?prettyPrint=false
    {
      "code" : 404,
      "errors" : [ {
        "domain" : "global",
        "message" : "Table is truncated.",
        "reason" : "notFound"
      } ],
      "message" : "Table is truncated.",
      "status" : "NOT_FOUND"
    }
Run Code Online (Sandbox Code Playgroud)

有时我什至需要在截断和插入之间等待超过 5 分钟。

我想检查我的表是否仍处于“表已截断”状态。周期性地直到这种状态消失。

我如何请求 bigquery api 来检查表是否准备好插入? …

java google-bigquery

13
推荐指数
2
解决办法
8659
查看次数

标签 统计

google-bigquery ×1

java ×1