2017-09-05 5 views
0

질문이 있습니다. BigQuery에 데이터를로드하는 Databricks에 ETL이 내장되어 있지만 각 ETL을 실행하기 전에 BigQuery 테이블을 지우려는 경우 가능합니까? 초보자 질문에 대해 유감스럽게 생각합니다! 감사!!!Spark ETL에서 BigQuery 테이블 재설정

답변

2

당신은 어떻게 테이블이로드 무슨 일하고 제어하는데 유용하다 jobs.insert의 configuration.load 속성에서 사용 가능한 데이터 두 가지 속성이 (많은 다른 사람의 사이에서) 거기를로드 할 때로 :

configuration.load.writeDisposition

[선택 사항] 대상 테이블이 이미있는 경우 발생하는 작업을 지정합니다.

다음 값이 지원됩니다.
WRITE_TRUNCATE : 테이블이 이미 존재하면 BigQuery가 테이블 데이터를 덮어 씁니다. WRITE_APPEND : 테이블이 이미 존재하면 BigQuery는 데이터를 테이블에 추가합니다.
WRITE_EMPTY : 테이블이 이미 있고 데이터가있는 경우 작업 결과에 '중복'오류가 반환됩니다.
기본값은 WRITE_APPEND입니다.

각 작업은 기본적이며 BigQuery가 작업을 성공적으로 완료 할 수있는 경우에만 발생합니다. 생성, 절단 및 추가 작업은 작업 완료시 하나의 원자 적 업데이트로 발생합니다.

configuration.load.createDisposition

[선택 사항] 작업이 새 테이블을 만들 수 있는지 여부를 지정합니다.

다음 값이 지원됩니다.
CREATE_IF_NEEDED : 테이블이 없으면 BigQuery가 테이블을 만듭니다.
CREATE_NEVER : 테이블이 이미 존재해야합니다. 그렇지 않은 경우 작업 결과에 'notFound'오류가 반환됩니다.
기본값은 CREATE_IF_NEEDED입니다.

작성, 절단 및 추가 작업은 작업 완료시 하나의 원자 적 업데이트로 발생합니다.

그래서, WRITE_TRUNCATE

찾고있는 무슨이다
관련 문제