加载到 Bigquery 表时出现内部错误

Posted

技术标签:

【中文标题】加载到 Bigquery 表时出现内部错误【英文标题】:Internal error while loading to Bigquery table 【发布时间】:2014-08-19 18:57:22 【问题描述】:

我运行此命令将 11 个文件加载到 Bigquery 表中:

bq load --project_id=ardent-course-601 --source_format=NEWLINE_DELIMITED_JSON dw_test.rome_defaults_20140819_test gs://sm-uk-hadoop/queries/logsToBq_transformLogs/rome_defaults/20140819/23af7218-617d-42e8-884e-f213a583094a/part* /opt/sm-analytics/projects/logsTobqMR/jsonschema/rome_defaultsSchema.txt

我收到了这个错误:

等待 bqjob_r46f38146351d545_00000147ef890755_1 ... (11s) 当前状态:完成 加载操作中的 BigQuery 错误:处理作业时出错 'ardent-course-601:bqjob_r46f38146351d545_00000147ef890755_1':遇到的错误太多。限制为:0。 故障详情: - 文件:5:出乎意料。请重试。

之后我尝试了很多次,仍然出现同样的错误。

为了调试出了什么问题,我将每个文件一个一个地加载到 Bigquery 表中。例如:

/usr/local/bin/bq load --project_id=ardent-course-601 --source_format=NEWLINE_DELIMITED_JSON dw_test.rome_defaults_20140819_test gs://sm-uk-hadoop/queries/logsToBq_transformLogs/rome_defaults/20140819/23af7218-617d-42e8-884e-f213a583094a/part-m-00011.gz /opt/sm-analytics/projects/logsTobqMR/jsonschema/rome_defaultsSchema.txt

总共有 11 个文件,每个文件都运行良好。

有人可以帮忙吗?这是 Bigquery 方面的错误吗?

谢谢。

【问题讨论】:

【参考方案1】:

读取其中一个文件时出错:gs://...part-m-00005.gz

查看导入日志,gzip 阅读器似乎在解压文件时遇到错误。

看起来该文件实际上可能没有被压缩。 BigQuery 对列表中第一个文件的标头进行采样,以确定它是在处理压缩文件还是未压缩文件,并确定压缩类型。当您一次导入所有文件时,它只对第一个文件进行采样。

当您单独运行文件时,bigquery 会读取文件的标题并确定它实际上没有被压缩(尽管有后缀“.gz”),因此将其作为普通平面文件导入。

如果您运行的负载不混合压缩和未压缩文件,它应该可以成功运行。

如果您认为情况并非如此,请告诉我,我会进一步挖掘。

【讨论】:

我刚刚重试了加载所有 11 个零件文件。我得到了同样的错误。作业 ID 为 bqjob_r52183c6a1cf5f984_00000147f0328319_1。而且我还尝试仅加载 part-m-00005.gz,效果很好。作业 ID 为 bqjob_r535428744600a8ea_00000147f03335e0_1 嗨乔丹,你有什么发现吗?谢谢。 感谢您提供这些工作......他们很有帮助。看起来 BigQuery 被压缩和未压缩文件的混合混淆了。如果您对所有文件使用相同的压缩类型,它应该可以工作。 (我已经更新了上面的答案)。 谢谢你的帮助,乔丹。这些文件都具有相同的压缩。但是 part-m-00005.gz 文件恰好是 0 字节,因为它们是由 Hadoop mapreduce 生成的。我想我必须先删除该文件,然后进行 Bigquery 上传。 哦...有趣。我会提交一个错误。感谢您的报告!

以上是关于加载到 Bigquery 表时出现内部错误的主要内容,如果未能解决你的问题,请参考以下文章

加载时间戳时出现 Bigquery 错误

尝试从 Big Query 导出时出现内部错误

将 300 MB 文件加载到 BigQuery 时出现超时错误

从 Cloud Storage Json 加载数据时出现 BigQuery 错误

将 Avro 文件加载到 BigQuery 失败并出现内部错误

在 cs50 ide 中使用烧瓶时出现内部服务器错误