BigQuery Data Transfer Service 기능을 사용하여 BigQuery Dataset을 복사할 수 있습니다.

이때 복사 작업은 정해진 일정에 따라 관리되는 방식으로 한 번 복사하거나 맞춤설정된 반복 일정으로 복사할 수 있습니다.

또한 한 리전에서 다른 리전으로도 복사가 가능합니다.

하지만 Dataset 복사가 모든 리전에 지원되는 것은 아니며 지원되는 리전이 별도로 존재하니 참고하시기 바랍니다.


Dataset 복사에는 아래와 같은 제한 사항이 존재합니다.

1. Dataset 내용 중 View, 외부 테이블은 복사할 수 없습니다.

2. 쓰기 최적화 스토리지에 데이터를 복사하는 작업은 지원되지 않습니다.

3. 고객 관리 키(CMEK)로 암호화된 테이블 & Dastset은 같은 리전에 데이트세트로만 복사 가능합니다.

4. 테이블이 소스 데이터 세트와 대상 데이터 세트에 있고 마지막 성공적인 복사 후에도 변경되지 않으면 해당 테이블은 건너뜁니다.

5. 테이블을 자를 때 데이터 세트 사본은 복사를 시작하기 전에 대상 데이터 세트에서 실행된 변경을 감지하지 않습니다. 대상 데이터 세트의 모든 데이터가 새로 고쳐집니다(덮어쓰기). 테이블과 스키마를 모두 덮어씁니다.

> 즉, 증분 타입의 데이터 복제는 지원되지 않습니다. 증분 데이터 복제를 원하면 다른 방법을 사용해야 합니다.


BQ Data Transfer Service 기능을 사용하여 Dataset을 복사하는 방법은 아래와 같습니다.


1. Console의 BigQuery Data Transfers 페이지로 이동하여 새 Transfer를 생성합니다.

 - Console > BigQuery > Data transfers > + CREATE TRANSFER



2. Dataset 복사를 위한 Transfer의 세부내용을 설정합니다.

 - Source : Dataset Copy

 - Transfer config Name : 생성할 Transfer의 이름

 - Schedule options : Transfer 작업이 실행될 일정 설정(UTC 기준), 1회만 실행시 On-demand 옵션 선택

 - Destination settings : 대상 Dataset 선택, 대상 Dataset이 없다면 CREATE NEW DATASET을 선택하여 생성

 - Data source details : 소스 Dataset 선택

 - Notification Options : Transfer 작업에 대한 알람 설정




3. 생성 및 실행한 Data Transfer Job으로 데이터가 복제되었는지 확인합니다.



※ View를 제외한 테이블의 데이터가 복제된 것을 확인할 수 있습니다.