[Big Query] 빅쿼리 스케쥴링이란? (쿼리 자동실행 예약 방법 )
* 빅쿼리 스케쥴링이란 ?
쿼리가 반복적으로 실행되도록 일정을 예약하는 기능.
예약된 쿼리는 Google 표준 SQL로 작성되어야 하며 데이터 정의 언어(DDL) 및 데이터 조작 언어(DML) 문을 포함할 수 있다. 쿼리 문자열과 대상 테이블을 매개변수화하여 쿼리 결과를 날짜와 시간별로 구성할 수 있다.
빅쿼리 콘솔에서 스케쥴링 기능을 제공하므로 간단히 작업이 가능하다.
쿼리 일정을 만들거나 업데이트하면 쿼리의 예약된 시간이 현지 시간에서 UTC로 변환되므로 KST > UTC 계산하여 등록해야한다.
1. 쿼리창에 원하는 쿼리 입력 후 상단의 SCHEDULE 클릭
* 일자별 샤드 테이블 스케쥴링인 경우
쿼리 내 날짜 설정:
- @run_date 를 사용하면 자동으로 시스템 날짜를 인식함.
- DATE_SUB 를 활용해서 하루이전 날짜로 설정.
- FORMAT_DATE 활용하여 테이블 suffix 에 맞도록 YYMMDD 로 변경.
WHERE _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(@run_date, INTERVAL 1 DAY)) -- 날짜 설정
2. 스케쥴 설정
1) 스케쥴 네임 설정
2) 스케쥴 옵션
-반복주기 설정: UTC 기준 시간 입력.
- KST > UTC convert 하여 입력.
ex) KST 12:00 pm -> UTC 03:00 am
-시작 시간 설정
-종료 시간 설정 (or 영원히)
3) 목적지 테이블 정보
* 테이블 샤딩 스케쥴링인 경우
- 금일: [Table_name_{run_date}]
- 작일: [Table_name_{run_time-25h|"%Y%m%d"}]
4) 테이블 생성 방식
- Append to table: 밀어넣기
- Overwirte table: 오버라이딩(덮어쓰기)
필요한 케이스로 선택.
5) 로케이션 타입
* 스케쥴링 하고자하는 테이블이 위치하는 데이터셋의 Local Region 과 일치시켜주어야 함!