빅쿼리에서 쿼리 예약으로 주기적으로 신규 데이터 갱신하기
1. 요약
이 포스팅에서는 빅쿼리의 ‘쿼리 예약’ 기능을 소개하며, 주기적으로 데이터 갱신을 자동화하는 방법을 안내합니다. 사용자는 설정된 예약 쿼리를 확인하고 모니터링하여 업무의 복잡성을 감소시키고 생산성을 향상시킬 수 있습니다.
2. 쿼리 예약이 필요한 이유
많은 업무에서는 스프레드시트를 사용하여 데이터를 관리하고 통계를 작성하는 작업을 수행합니다. 마케팅 등의 목적으로 저장된 데이터를 가지고 원하는 정보를 분석하여 활용하기도 하지요. 이 때, 사용할 수 있는 유용한 도구는 바로 ‘빅쿼리’와 ‘루커 스튜디오’ 입니다.
지난 포스팅에서는 빅쿼리를 활용하여 스프레드시트 데이터를 통합하고 루커 스튜디오에서 차트를 그리는 방법을 소개했습니다. 아직 글을 읽지 않으신 분은 해당 글을 먼저 읽어보신 뒤에 이 글을 읽어보시길 바랍니다.
스프레드시트 데이터를 빅쿼리와 루커 스튜디오로 시각화하기
하지만 데이터를 통합한 통합 테이블을 생성하더라도 사용자가 주기적으로 쌓이는 데이터들을 업데이트 하지 않으면 루커 스튜디오의 데이터들은 변화가 없을 것입니다. 오늘은 빅쿼리의 ‘쿼리 예약’ 기능을 사용하여 주기적으로 데이터들을 갱신하는 방법을 소개할 것입니다.
아래 시트는 2023년 물건 판매 내역을 담고 있습니다.
그리고 아래의 시트는 2024년 물건 판매 내역을 담고 있습니다.
루커 스튜디오는 빅쿼리를 거쳐 스프레드시트들을 통합하고 아래와 같이 시각화하여 데이터를 분석할 수 있습니다.
하지만 ‘쿼리 예약’을 하지 않았다면 사용자가 직접 주기적으로 차트와 연결된 빅쿼리의 테이블을 최신 데이터로 업데이트 해야합니다. 차트와 연결된 통합 테이블에는 사용자가 마지막으로 업데이트 했던 시점의 구 데이터들만 남아있기 때문이죠. 차트를 볼 때마다 사용자가 직접 테이블을 업데이트해야 한다면 불편하겠지요? 누군가 이 단순 반복 작업을 대신 수행해준다면 얼마나 좋을까요?
빅쿼리의 ‘쿼리 예약’ 기능을 통해 대신할 수 있습니다.
오늘은 빅쿼리의 ‘쿼리 예약’ 기능을 사용해서 주기적으로 데이터를 통합하고 루커 스튜디오에 자동으로 최신 데이터를 가져오는 방법을 소개하겠습니다.
3. ‘쿼리 예약’ 기능 소개
빅쿼리에서의 “쿼리 예약(Scheduling Queries)”은 특정 쿼리를 자동으로 예약된 시간에 주기적으로 실행되도록 하는 기능을 제공합니다.
쿼리 예약은 데이터 웨어하우스에서 주기적으로 수행되어야 하는 반복적이고 예측 가능한 작업들을 자동화하는 데 매우 유용합니다. 이 기능은 다음의 특징들을 가지고 있습니다.
- 주기적인 실행: 사용자는 매일, 매주, 매월 또는 사용자가 정의한 주기에 따라 쿼리를 예약할 수 있습니다.
- 다양한 시간대 지원: 사용자는 자신의 지역 시간대에 따라 예약할 수 있습니다. 빅쿼리는 타임존을 지원하여 세계 각 지역에 맞게 예약이 가능합니다.
- 쿼리 결과 저장: 예약된 쿼리의 실행 결과는 필요한 경우 빅쿼리 테이블에 저장할 수 있습니다. 이를 통해 결과를 나중에 분석하거나 시각화할 수 있습니다. 쿼리 자체에 CREATE 문이 들어있다면 결과는 자동으로 테이블을 생성하고 데이터를 넣어주지만, SELECT문만 있다면 결과를 저장할 대상을 선택해주어야 합니다.
- 알림 및 로깅: 예약된 쿼리의 실행 결과에 대한 알림을 설정할 수 있고, 실행 히스토리와 로그를 통해 쿼리의 상태를 모니터링할 수 있습니다.
4. ‘쿼리 예약’ 기능 사용해보기
그럼 쿼리 예약 기능을 실제로 사용하는 방법을 살펴보겠습니다. 빅쿼리의 쿼리 창을 열고 매 시간마다 실행하고 싶은 쿼리를 입력합니다. 예시에서는 최신 판매 데이터를 업데이트 해주어야 하기 때문에 2023년도 데이터와 2024년도 데이터를 통합하는 쿼리를 작성하였습니다.
쿼리가 모두 작성되었다면 상단에 보이는 ‘일정’ 버튼을 클릭합니다.
예약 기능을 처음 사용하는 것이라면 API사용 승인이 필요합니다. 아래의 창이 나오면 ‘확인’ 버튼을 눌러주세요.
이제 쿼리를 예약하는 화면이 표시됩니다.
쿼리 예약 창에 나오는 각 항목은 무슨 뜻일까요?
- 예약된 쿼리 이름: 예약된 쿼리의 이름을 지정합니다. 사용자가 원하는 이름을 입력하면 되지만 예약되는 쿼리가 여러개인 경우 편리하게 관리할 수 있도록 사용자가 식별할 수 있는 이름을 입력하는 것이 좋습니다.
- 일정 옵션: 반복 빈도와 시간에 관한 설정을 할 수 있습니다. 분(최소 15분), 시간, 일, 주, 월 단위로 선택이 가능합니다. 또한 사용자가 원하는 날짜로 커스텀하는 기능도 있습니다.
- 시작일 및 실행 시간: 시작 시간을 변경하려면 설정 시간에 시작 옵션을 선택하고 원하는 시작 날짜와 시간을 입력합니다. 지정된 시작 시간이 일정의 시간보다 늦으면 첫 번째 쿼리 실행은 해당 주기의 다음 번 반복이 됩니다. 예를 들어 2022-06-05 23:50에 예약을 한다고 했을때, 옵션을 메일 00시(daily 00:00)로 하고, 시작 시간을2022-06-06 10:00로 설정하는 경우, 예약 쿼리는 2022-06-07 00:00에 처음으로 실행됩니다.
- 종료 시간 예약: 종료 시간을 지정하려면 이 옵션을 선택하고 날짜와 시간을 입력합니다.
- 쿼리 결과를 저장할 대상: 이 옵션에 체크를 하면 select 결과물을 자동으로 테이블에 저장합니다.
이 기능을 사용하려면 데이터 세트 이름에서 적절한 대상 데이터 세트를 선택한 뒤에, 테이블 이름에서 대상 테이블의 이름을 입력합니다. ‘대상 테이블 쓰기 환경설정’에서 ‘테이블에 추가’ 또는 ‘테이블 덮어쓰기’ 옵션을 선택합니다.
5. 예약된 쿼리 확인하기
쿼리 예약이 저장되었다면 예약이 잘 되었는지, 예약해두었던 쿼리가 잘 실행되었는지 확인해보아야겠죠? 좌측 메뉴에서 ‘예약된 쿼리’ 메뉴를 클릭합니다. 이 메뉴에서 현재 예약되어있는 모든 예약 쿼리를 확인할 수 있습니다.
2개의 쿼리를 예약해둔 상태입니다. 그런데 빨간색 느낌표 표시와 초록색 체크 표시가 되어있네요.
눈치 채셨겠지만 초록색 체크 표시는 쿼리가 정상적으로 실행되었다는 표시입니다. 빨간색 느낌표는 쿼리가 정상적으로 실행되지 않고 문제가 발생했다는 뜻이겠지요. 빨간색 느낌표 표시가 있는 예약 쿼리를 클릭해볼까요?
쿼리에 어떤 문제가 있는지 친절하게 메시지로 남겨두었네요. 해당 에러를 참고하여 쿼리를 수정하고 문제를 해결할 수 있겠습니다.
이번 포스팅에서는 빅쿼리의 예약 기능을 사용하는 방법을 살펴보았습니다.
빅쿼리를 활용하여 실시간으로 데이터를 처리하고 자동화하면 업무의 효율성을 향상시킬 수 있습니다. 예약된 쿼리를 통해 반복되는 작업을 줄이고, 정확하고 일관된 결과를 얻을 수 있습니다. 더불어, 쿼리 예약을 통해 데이터를 주기적으로 갱신하면서 생기는 인사이트를 획득할 수도 있지요. 아직 사용해보지 않으셨다면 빅쿼리의 예약 기능을 활용해서 업무의 효율성을 더 높여보는 것은 어떨까요?