"后端错误"加载到BigQuery表时

时间:2014-08-18 19:35:42

标签: google-bigquery

这似乎是一个常见的问题,它偶尔发生在我的加载工作中。当它发生时没有响应,但似乎数据仍然被加载,我想知道在我的程序中最好的做法是什么?我可以一直忽略它或等待几秒钟然后继续吗?

由于

1 个答案:

答案 0 :(得分:3)

运行bigquery作业时有两种方法可以获得错误,正确的处理取决于您是如何得到错误的:

  • 您可以在HTTP请求中收到错误,该错误会转换为HTTP响应代码。
  • 您可以获得一个errorResult的作业,表明作业失败。

在第二种情况下,您的选项很简单,因为您知道作业失败了。如果作业是加载作业,则不应该修改表。在第一种情况下,当您获得可重试的HTTP错误代码(417超时,500内部错误,503后端错误等)时,它有点棘手,因为错误可能有通信错误,并且您不会知道服务器是否成功获得了消息。可以肯定的是指定自己的jobId。由于作业ID必须是唯一的,因此您可以在发生通信错误时重新尝试再次发送相同的作业,并且您不必担心它将运行相同的两次。

重申: 如果您收到带有HTTP 503的{​​{1}}响应,则表示存在临时网络状况的连接错误。但是,这并不意味着你的工作失败了。

如果您可以查找作业,并且作业结果出现reason=backendError错误,但出现错误消息,显示"后端错误。工作中止"这意味着你的工作失败了。重试应该是安全的。