首页 文章

将AVRO文件加载到BigQuery时出错

提问于
浏览
1

我已经使用bq CLI实用程序成功地将大量AVRO文件(具有相同模式类型的相同模式)加载到Google Storage上 .

但是,对于某些AVRO文件,我在加载到bigquery时遇到非常神秘的错误,错误说:

Apache Avro库无法读取数据时出现以下错误:已达到EOF(错误代码:无效)

使用avro-tools验证AVRO文件未损坏,报告输出:

java -jar avro-tools-1.8.1.jar repair -o report 2017-05-15-07-15-01_48a99.avro恢复文件:2017-05-15-07-15-01_48a99.avro文件摘要:Number of blocks:51损坏块数:0记录数:58598损坏记录数:0

我尝试使用其中一个失败的文件创建一个全新的表,以防由于模式不匹配但由于错误完全相同而没有帮助 .

需要帮助找出可能导致错误的原因吗?

1 回答

  • 0

    如果没有更多信息,就无法查明问题,但我遇到了这条错误消息,并提交了一张机票here .

    我在单个加载作业中的许多文件都缺少导致错误的列 .

    来自ticket的解释 .

    BigQuery使用目录中按字母顺序排列的最后一个文件作为avro架构来读取其他Avro文件 . 我怀疑问题是最后一个文件和“有问题”文件之间的架构不兼容 . 您知道所有文件是否具有完全相同的模式或不同?您可以尝试帮助验证这一点的一件事是将目录的字母顺序最后一个文件和“有问题”文件复制到另一个文件夹,并尝试在一个BigQuery加载作业中加载这两个文件,并查看错误是否重现 .

相关问题