-
Cloud SQL 에서 Bigquery로 데이터 이동Database/Bigquery 2021. 1. 20. 19:11
stackoverflow.com/questions/47624181/best-way-to-import-google-cloud-sql-data-into-bigquery
cloud.google.com/bigquery/docs/cloud-sql-federated-queries
우선 cloud SQL 통합쿼리의 가이드 라인을 살펴보면 아래와 같은 형태로 SQL 구문을 쓸 수 있다
select * from EXTERNAL_QUERY( '(프로젝트명).(리전명).(클라우드SQL명)', 'select * from (테이블명) where log_date between DATE_ADD(date(NOW()), INTERVAL -1 day) and date(now());' );
이때 외부 연결을 최초 1회 등록을 해주어야 한다
빅쿼리 창에서 데이터 추가 > 외부 데이터 소스를 선택하면 추가할 수 있다
연결ID: 외부 연결을 구분할 ID 값이다
연결위치: 연결이 있을 리전을 선택한다. 살짝 아리송하다. 다행히 우리 회사는 sql과 bigquery 모두 도쿄리전을 쓰고 있기 때문에 연결위치도 도쿄리전을 선택했다.
Clould SQL 인스턴스 ID: clould SQL 탭에서 해당 인스턴스의 전체경로 ID를 가져오면 된다.데이터베이스 이름: 데이터를 가져오고자 하는 데이터베이스 이름입니다.
데이터베이스 사용자 이름: 데이터를 불러올 때 쓰일 DB 서비스 계정
데이터베이스 비밀번호: DB 서비스 계정의 비밀번호
이렇게 세팅하면 된다.
어제자 데이터를 불러오는 쿼리 실행결과. 잘 불러온다
데이터를 빅쿼리에 넣는 방법은 크게 2가지 방법이 있다.
1) 수동으로 쿼리를 날리고, 쿼리 결과를 bigquery 테이블에 저장2) 예약 쿼리를 실행
우선 첫번째 방법을 먼저 살펴보면...
더보기에서 쿼리 세팅을 보면... 아래와 같은 설정탭이 나온다
반면 두번째 방법은 쿼리 예약을 거는 것이다
예약된 쿼리 탭에서 설정된 쿼리를 볼 수 있다.
예약된 쿼리 만들기를 하면 쿼리를 등록할 수 있는데, 예약 걸고자 하는 쿼리를 작성한 후 일정을 등록하면 된다.
일정에서 새로 예약된 커리 만들기를 클릭한 다음 아래와 같은 탭에서 그 정보를 입력하자.
다 입력 후 예약을 걸면 예약된 쿼리가 등록이 되고 정해진 시간에 수행하는 것을 알 수 있다.