【发布时间】:2021-11-18 02:41:44
【问题描述】:
我通过执行此处描述的 queryJob 来截断我的表:https://cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries
"truncate table " + PROJECT_ID + "." + datasetName + "." + tableName;
我等到工作通过
完成queryJob = queryJob.waitFor();
截断工作正常。
无论如何,如果我在截断操作之后立即插入
InsertAllResponse response = table.insert(rows);
结果是
com.google.cloud.bigquery.BigQueryException: Table is truncated.
有以下日志:
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"
}
有时我什至需要在截断和插入之间等待超过 5 分钟。
我想检查我的表格是否仍处于“表格被截断”状态。周期性地直到这个状态消失。
我如何请求 bigquery api 以检查表是否已准备好插入?
我如何请求 bigquery api 来获取表的状态?
编辑
可以在here找到复制示例
【问题讨论】:
-
能否分享代码以便重现错误?
-
@SandeepMohanty thx,添加了可重现示例的链接
标签: java google-bigquery