【问题标题】:BQ Load error : Avro parsing error in position 893786302. Size of data block 27406834 is larger than the maximum allowed value 16777216BQ 加载错误:位置 893786302 的 Avro 解析错误。数据块 27406834 的大小大于允许的最大值 16777216
【发布时间】:2017-10-06 17:35:07
【问题描述】:

致 BigQuery 专家,

我正在研究这个过程,该过程要求我们使用前缀将过去 12 个月的所有交易连接在单个列中,以便使用前缀进行 Solr 分面,从而代表客户的购物历史。

尝试在 BIG Query 中加载此数据时,我们遇到了超出行限制的错误。有没有办法解决这个问题?实际元组大小约为 64 mb,而 avro 限制为 16mb。

[ ~]$ bq load --source_format=AVRO --allow_quoted_newlines --max_bad_records=10 "syw-dw-prod":"MAP_ETL_STG.mde_golden_tbl" "gs://data/final/tbl1/tbl/part-m-00005.avro"
Waiting on bqjob_r7e84784c187b9a6f_0000015ee7349c47_1 ... (5s) Current status: DONE

BigQuery error in load operation: Error processing job 'syw-dw-prod:bqjob_r7e84784c187b9a6f_0000015ee7349c47_1': Avro parsing error in position 893786302. Size of data
block 27406834 is larger than the maximum allowed value 16777216.

【问题讨论】:

  • 64 mb 已超过 BigQuery 中的最大行大小,因此我认为没有办法将其加载到 BigQuery 中。你能把交易分成多行吗?这不应该影响您在加载到 Big Query 后分析交易吗?

标签: google-bigquery avro


【解决方案1】:

更新:这不再是真的,限制已被取消。

BigQuery 对加载的 Avro 文件块大小的限制为 16MB (https://cloud.google.com/bigquery/quotas#import)。除非每行实际上大于 16MB,否则您应该能够将行拆分为更多块以保持在 16MB 块限制内。使用压缩编解码器可能会减小块大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 2016-11-12
    • 2020-09-11
    • 2015-08-02
    • 2023-04-07
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多