BigQuery 加载作业失败 - 无法访问 GCS 文件

Posted

技术标签:

【中文标题】BigQuery 加载作业失败 - 无法访问 GCS 文件【英文标题】:BigQuery failed load job - was unable to access a GCS file 【发布时间】:2014-03-14 01:02:01 【问题描述】:

我们昨天在 BigQuery 的一项计划加载作业中遇到了错误。我们以前从未见过这个错误。此外,不久之后重新运行该作业(没有任何更改)效果很好。因此,无法复制。

我们正在从 GCS 加载文件。这是 BigQuery/GCS 返回的错误:

访问被拒绝:Google 存储文件 [文件名已删除]:访问被拒绝

只有大约 50 个源 uri 中的一个文件无法访问。失败作业的作业id:

job_TFuRwMrEWVAMD-PNuc29Yx_PXkk

当天晚些时候重新运行的作业的作业 ID 再次正常运行(未进行任何更改):

job_Pt9usLRO9elxIBlmuOwCGB-drxI

有人知道为什么会这样吗?

【问题讨论】:

如果昨天有帮助,我们也看到了一些不寻常的活动,可能是部署错误或服务错误。 看起来 GCS 正在发挥作用。从此没见过。奇怪。 【参考方案1】:

我在 BigQuery 导入工作人员中查找了作业日志……据我所知,当我们尝试获取某个 Cloud Storage 文件的文件大小时遇到​​了 ACCESS_DENIED 错误。您确定在运行第二个作业之前 ACL 没有更改吗?这可能是 Cloud Storage 中的一个临时故障。

【讨论】:

ACL 肯定没有改变。这些作业已经运行了几个月,没有任何问题。我同意它看起来像是 GCS 中的一个小故障,但我想我还是会标记它。我现在已经实现了一些错误处理,以防它再次发生。 您能分享一下您是如何捕获此类错误的吗? 在轮询作业的状态时,您可以检查它是否失败。错误结果包含在 JSON 响应中,因此您可以随心所欲地处理它 - 我们只是不断重试工作。 顺便说一句,你看到这些了吗:***.com/questions/22468181/… 是的,我看到了那个帖子。这实际上是我们团队中提出该问题的另一位开发人员。现在对我们来说已经成为一个真正的问题。我们每天都收到 503,这意味着我们的日常工作都失败了。

以上是关于BigQuery 加载作业失败 - 无法访问 GCS 文件的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery 无法插入作业。工作流失败

在使用 BigQuery API 的 python 插入作业期间登录失败

文件:0:来自 Google BigQuery 加载作业的意外

将数据导入 Bigquery,但只能通过作业历史访问“表”,无法在数据集中查看

从 GCS 加载 Google BigQuery 失败并出现错误 Unsupported empty struct type for field

数据流 - 对 BigQuery 的窗口写入?