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