Data Analytics/Big Query

[Big Query] 빅쿼리 스케쥴링이란? (쿼리 자동실행 예약 방법 )

cheersHena 2024. 5. 3. 11:02
반응형

 

* 빅쿼리 스케쥴링이란 ?

쿼리가 반복적으로 실행되도록 일정을 예약하는 기능.

예약된 쿼리는 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 과 일치시켜주어야 함! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형