BigQuery 插入错误,状态:挂起,状态码 5
Posted
技术标签:
【中文标题】BigQuery 插入错误,状态:挂起,状态码 5【英文标题】:BigQuery insert error, state: pending, status code 5 【发布时间】:2018-11-22 08:08:17 【问题描述】:我遇到 bigquery 插入错误,我找不到任何解决方案来修复。我正在使用谷歌应用引擎使用 nodejs 进行流插入。但是,该错误并非每次都发生。错误日志如下:
insertId: "j5hzu8e36yg0"
logName: "projects/xxxx-xxxx/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload:
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
authenticationInfo:
principalEmail: "xxxx-xxxx@appspot.gserviceaccount.com"
authorizationInfo: [
0:
granted: true
permission: "bigquery.jobs.create"
resource: "projects/xxxx-xxxx"
]
methodName: "jobservice.getqueryresults"
requestMetadata:
callerIp: "xx.xx.xx.xx"
callerSuppliedUserAgent: "gcloud-dotnet/1.0.0-beta18 google-api-dotnet-client/1.35.1.0 (gzip),gzip(gfe)"
resourceName: "projects/xxxx-xxxx/queries/job_bc378dc9_240d_4caf_acfa_d54691ffe595"
serviceData:
@type: "type.googleapis.com/google.cloud.bigquery.logging.v1.AuditData"
jobGetQueryResultsRequest:
jobGetQueryResultsResponse:
job:
jobConfiguration:
jobName:
jobStatistics:
jobStatus:
error:
state: "PENDING"
serviceName: "bigquery.googleapis.com"
status:
code: 5
message: "Not found: Job xxxx-xxxx:job_bc378dc9_240d_4caf_acfa_d54691ffe595"
receiveTimestamp: "2018-11-22T07:24:42.323436659Z"
resource:
labels:
project_id: "xxxx-xxxx"
type: "bigquery_resource"
severity: "ERROR"
timestamp: "2018-11-22T07:24:41.794Z"
如果您需要更多信息,请告诉我。
【问题讨论】:
你也可以分享代码吗? bigquery .dataset('raw') .table(tbl) .insert(rows) .then(() => console.log(Inserted $rows.length rows
); ) .catch(err = > if (err && err.name === 'PartialFailureError') if (err.errors && err.errors.length > 0) console.log('插入错误:'); err.errors.forEach(err => console.error(err)); else console.error('BQ INGEST ERROR CUST RAW:', err); ); ;
您提供的审核日志条目对应于检索作业结果的失败请求 (cloud.google.com/bigquery/docs/reference/rest/v2/jobs/…)。并且基于用户代理,它是使用github.com/googleapis/google-cloud-dotnet 制作的。您能否附上cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/… 中定义的正确流式插入响应?
【参考方案1】:
BigQuery 似乎无法找到地理地址 location of the job。
确保在jobReference 的位置属性中指定您的区域。这是您可以咨询的github example for nodejs。
更新 检查未找到的作业是否已重试并成功完成。在流式传输中,请求作业和尝试检索作业之间需要延迟。因此,您可以忽略此类错误并再次尝试获取信息。
【讨论】:
不要认为是区域或位置属性问题。我正在使用不需要位置信息的流式插入。我按照例子:cloud.google.com/bigquery/… 你能测试一下看看是否还有错误吗?这是为了消除/验证这个理论。 这没有帮助。 它看起来像一个 nodejs 客户端库问题。您可以在创建表时define the optional location parameter 看看是否仍然出现错误吗?你也应该报告这个问题here以上是关于BigQuery 插入错误,状态:挂起,状态码 5的主要内容,如果未能解决你的问题,请参考以下文章