2016-08-18 149 views
0

背景BIGQUERY BQ负载内部错误

我试图加载JSON文件x.json使用BQ CLI。

猫x.json

{ “名”: “XYZ”, “手机”: “XXX”, “位置”: “ABC”}

{ “名”:“XYZ ”, “移动”: “XXX”, “年龄”: “22”}

所用命令

BQ负载--autodetect --source_format = NEWLINE_DELIMITED_JSON项目:test_datasets.cust x.json

'cust'是一个具有空模式的表。

我正在使用'--autodetect,以便BigQuery自动检测模式。

输出

上传完成。

等待上bqjob_r475558282b85c552_000001569cf1efd8_1 ...(1S)现状:已完成
在负荷运转的BigQuery错误:错误处理工作“项目:bqjob_r475558282b85c552_000001569cf1efd8_1”:发生内部错误,请求无法完成。

任何想法,为什么发生内部错误以及如何解决它?

+0

您需要重试!内部错误是99%正常运行时间的SLA的一部分:) – Pentium10

+0

ok ..right工作... :) – Rohan

+0

如果答案帮助您解决了问题,并且您接受了它,那么您还应该考虑投票。有关http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235中的http://stackoverflow.com/help/someone-answers和Upvote部分,请参阅更多内容。 –

回答

0

我们看到几个问题:

  • 请求随机失败,类型“后端错误”
  • 请求随机失败,类型“连接错误”
  • 请求随机失败,类型“超时” (注意这里,因为只有一些行失败,而不是整个有效载荷)
  • 其他一些错误信息是非描述性的,他们太模糊以至于他们不帮你,只是重试。
  • 我们每天都会看到数百个这样的故障,所以它们几乎不变,并且与云的健康状况无关。

对于所有这些,我们在付费的Google Enterprise支持中打开了案例,但不幸的是他们没有解决它。它接缝推荐的选项是指数回退,重试,甚至支持告诉这样做。此外,失败率符合我们在SLA中的99.9%正常运行时间,因此没有理由反对。

关于SLA有一些需要注意的地方,它是一个非常严格定义的结构,详细信息是here。 99.9%的正常运行时间不会直接转化为失败率。这意味着如果BQ有一个月30分钟的停机时间,然后在该时间段内做了10,000次插入,但在该月的其他时间没有插入任何插入,则会导致数字串接。这就是我们为什么建议一种指数退避算法的原因。SLA明确基于正常运行时间而不是错误率,但如果您在不同的时间使用退避重试设置在整个月内进行流式插入,两者在逻辑上密切相关。从技术上讲,如果你已经设置了适当的重试机制,那么如果你在本月进行插入,平均应该体验大约1/1000失败插入。

你可以看看这张图你的项目健康: https://console.developers.google.com/project/YOUR-APP-ID/apiui/apiview/bigquery?tabId=usage&duration=P1D