안녕하세요, 

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "BigQuery Dataset을 복사하는 방법"을 다루고자 합니다.



BigQuery Dataset 복사 방법


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

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

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


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

※ Dataset 복사는 GA가 아닌 Beta 기능입니다(2024년 5월 20일 기준).


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

  1. Dataset 내용 중 View, 외부 테이블은 복사할 수 없습니다.
  2. 쓰기 최적화 스토리지에 데이터를 복사하는 작업은 지원되지 않습니다.
  3. 고객 관리 키(CMEK)로 암호화된 테이블 & Dastset은 같은 리전에만 복사 가능합니다.
  4. 테이블이 소스 데이터 세트와 대상 데이터 세트에 있고 마지막 성공적인 복사 후에도 변경되지 않으면 해당 테이블은 건너뜁니다.
  5. 테이블을 자를 때 데이터 세트 사본은 복사를 시작하기 전에 대상 데이터 세트에서 실행된 변경을 감지하지 않습니다. 대상 데이터 세트의 모든 데이터가 새로 고쳐집니다(덮어쓰기). 테이블과 스키마를 모두 덮어씁니다.
    > 즉, 증분 타입의 데이터 복제는 지원되지 않습니다. 증분 데이터 복제를 원하면 다른 방법을 사용해야 합니다.


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를 제외한 테이블의 데이터가 복제된 것을 확인할 수 있습니다.



참조 링크


[1] BigQuery Data Transfer Service 

https://cloud.google.com/bigquery/docs/dts-introduction



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.