2012-09-20 6 views
1

1 개 이상의 CSV 파일을로드하면 큰 쿼리가 오류를 어떻게 처리합니까?큰 쿼리의 원자 삽입

BQ 부하 --max_bad_record = 30 dbname.finalsep20xyz GS : //sep20new/abc.csv.gz,gs :

//sep20new/xyzcsv.gz 몇 가지 파일이 있습니다 예상 된 열의 수가 일치하지 않기 때문에 일괄 작업이로드되지 않을 수 있습니다. 나는 나머지 파일들을로드하고 싶다. abc.csv 파일이 실패하는 경우 xyz.csv 파일이 실행됩니까? 전체 작업이 실패하고 레코드가 삽입되지 않습니까?

더미 레코드를 시도했지만 결론적으로 여러 파일의 오류를 처리하는 방법을 찾을 수 없습니다.

답변

3

로드는 원자 적이며 모든 파일이 커밋되거나 파일이 없습니다. 로드를 독립적으로 완료하려는 경우로드를 여러 작업으로 나눌 수 있습니다. 대안은 max_bad_records를 훨씬 더 높은 것으로 설정하는 것입니다.

우리는 더 많은 파일을 가지고 더 적은 수의 작업을 시작하는 것이 더 좋을 것입니다. 우리가 가져 오기를 처리하는 방법에 더 많은 유연성이 있기 때문입니다. 즉 최근에 할당량을 변경하면 더 많은 동시로드 작업을 제출할 수 있으며 곧 더 높은 할당량이 곧 계획됩니다.

BQ 상태 (로드, 복사, 대상 테이블에 대한 쿼리)를 수정하는 모든 BigQuery 작업은 원자 적입니다. 반출되지 않은 유일한 작업 유형은 반출 된 데이터의 일부를 작성한 후에 실패 할 가능성이 있기 때.에 추출입니다.

관련 문제