从 BigQuery 中的 .avro 文件创建表时出现“resourcesExceeded”错误

Posted

技术标签:

【中文标题】从 BigQuery 中的 .avro 文件创建表时出现“resourcesExceeded”错误【英文标题】:"resourcesExceeded" error when creating a table from a .avro file in BigQuery 【发布时间】:2016-07-20 11:35:37 【问题描述】:

我在 Google Cloud Storage 上上传了一个 .avro 文件,大小约为 100MB。它是从一个 800MB 的 .csv 文件转换而来的。

尝试在 BigQuery 网络界面中从此文件创建表时,几秒钟后我收到以下错误:

script: Resources exceeded during query execution: UDF out of memory. (error code: resourcesExceeded)
Job ID  audiboxes:bquijob_4462680b_15607de51b9

我检查了BigQuery Quota Policy,我认为我的文件没有超过它。

是否有解决方法或者我需要拆分我的原始 .csv 以获得多个更小的 .avro 文件?

提前致谢!

【问题讨论】:

【参考方案1】:

这个错误意味着解析器使用的内存超出了允许的范围。我们正在努力解决这个问题。同时,如果您在 Avro 文件中使用了压缩,请尝试将其删除。使用较小的数据块大小也会有所帮助。

是的,拆分成较小的 Avro 文件(如 10MB 或更小)也会有所帮助,但如果上述两种方法适合您,它们会更容易。

【讨论】:

你好,这就是它在此期间所做的,我发现当 Avro 源文件大于〜35MB 时,表创建过程会失败,所以我将我的数据加载程序拆分并加载每 30MB,就像一个魅力 :) 感谢您的帮助

以上是关于从 BigQuery 中的 .avro 文件创建表时出现“resourcesExceeded”错误的主要内容,如果未能解决你的问题,请参考以下文章

分区 BigQuery 表,从 AVRO 加载

Google BigQuery 从 Avro internalError 创建/追加到表

将数据附加到从 BigQuery 中的 Avro 文件创建的表中

如何从具有 DATE 列的 BigQuery 表中导出 AVRO 文件并将其再次加载到 BigQuery

使用压缩的 AVRO 从 BigQuery 导出表

BIgQuery AVRO 外部表架构