2017-10-06 10 views
0

보다 큰 우리는 접두사를 사용하여 Solr faceting을 위해 단일 컬럼에서 지난 12 개월 동안의 모든 거래를 연결합니다.BQ로드 오류 : 데이터 블록의 위치 893786302. 크기에 브로 구문 분석 오류가 27406834, 내가 역사 쇼핑 고객을 나타 내기 위해 우리를 필요로하는 과정에 있어요</p> <p>최대 허용 값의 BigQuery의 전문가 16777216

이 데이터를 BIG 쿼리에로드하는 동안 행 제한을 초과하는 오류가 발생합니다. 이 문제를 해결할 방법이 있습니까? 실제 튜플 크기는 약 64MB이며 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

BigQuery에서 64MB가 최대 행 크기를 초과 했으므로 BigQuery에로드하는 방법이 없다고 생각합니다. 트랜잭션을 여러 행으로 나눌 수 있습니까? 큰 쿼리를로드 한 후 거래를 분석하는 데 영향을 미치지 않아야합니까? –

답변

1

로드 된 Avro 파일의 블록 크기에 대한 BigQuery의 제한은 16MB (https://cloud.google.com/bigquery/quotas#import)입니다. 실제로 각 행이 16MB보다 큰 경우가 아니라면 행을 여러 블록으로 분할하여 16MB 블록 한도 내에서 유지할 수 있어야합니다. 압축 코덱을 사용하면 블록 크기가 줄어들 수 있습니다.