GCP) 빅쿼리 - 쿼리 실행

GCP) 빅쿼리 - 쿼리 실행

빅쿼리(BigQuery)에서 데이터 등 여러 데이터를 조회하기 위해 쿼리(Query)를 실행하는 방법에 대해 알아본다.


개요

빅쿼리(BigQuery)에서 데이터를 조회하기 위해서는 쿼리(Query)를 실행해야 한다. 직접 마우스로 이런저런 메뉴를 눌러서 상세 내용을 확인할 수 있지만 결국은 쿼리를 작성하는 방법을 알아야 원하는 작업을 실행하거나 경우에 따라서 특정 작업을 주기적으로 실행하게끔 설정할 수 있다.

빅쿼리 프로덕트 페이지에 접속하게 되면 쿼리 편집기가 열려있는 경우가 있긴 하지만 다음과 같이 화면의 좌상단 즈음의 [+] 버튼을 눌러 새 쿼리 편집기를 열 수 있다.
빅쿼리 쿼리 편집기 새로 열기

신규 쿼리 편집기가 열리면 다음과 같이 빈 탭을 볼 수 있다.
신규 쿼리 편집기

쿼리 스크립트 파일의 저장

아직 아무것도 작성하진 않았지만 일단 쿼리를 저장하는 방법에 대해 알아보자. 쿼리를 저장하려면 쿼리 편집기 상단의 [저장] 버튼을 누르거나 Windows 운영체제인 경우 [Ctrl] + [S] (저장)단축키를 누르게 되면 다음과 같이 쿼리 스크립트 파일을 저장할 수 있는 화면이 오른쪽에서 나온다.
쿼리 스크립트 파일 저장 화면 - 01

그런데 쿼리 스크립트 파일을 저장할 때는 파일명을 입력하고 저장할 리전을 선택해야 하는데 아쉽게도 아시아 태평양 지역에는 타이완(asia-east1), 도쿄(asia-northeast1), 뭄바이(asia-south1), 싱가포르(asia-southeast1) 등이 있지만 서울(asia-northeast3)은 없다.
쿼리 스크립트 파일 저장 화면 - 02

그래서 어쩔 수 없이 서울과 가장 가까운 “도쿄”를 선택하여 저장하는 것을 권장한다. 물론 향후에 서울 리전이 추가될 수 있다.

여기서는 스크립트 파일명을 “test”로 저장했는데 저장 후에는 다음과 같이 쿼리 편집기 상단에 파일명이 표시되고 왼쪽의 쿼리 목록에서도 확인할 수 있다.
쿼리 스크립트 파일 저장 화면 - 03

일회성 실행

전체 쿼리 실행

쿼리 실행은 기본적으로 쿼리 편집기 좌상단의 [▶ 실행] 버튼을 누르는 것이다. 또는 Windows 운영체제인 경우 [Ctrl] + [Enter] 단축키를 누르면 된다. 이렇게 하면 쿼리 실행 결과가 쿼리 편집기 하단에 나타난다.

다음의 캡쳐는 아주 간단한 SQL 쿼리 한줄을 실행한 결과이다.

1
SELECT 1;

쿼리 실행 - 01

이렇게 한 줄짜리 쿼리가 실행되는 경우는 하단 “쿼리 결과” 탭 중에서 “결과” 하위 탭이 기본적으로 선택되며 그 결과를 확인할 수 있다. 여기서는 1이라는 숫자가 “f0_” 필드에 속한 채로 출력된 것을 볼 수 있다.

그럼 이번엔 다음과 같이 두 줄의 쿼리를 작성하고 실행해보자. 단, 각 줄의 마지막에 세미콜론(;)을 붙여 쿼리의 끝을 알리는 것을 잊지 말자.

1
2
SELECT 1;
SELECT 2;

쿼리 실행 - 02

그런데 이번에는 숫자 1이나 2가 결과로 나오는 것이 아니라 뭔가 작업 개요를 보는 것과 같이 결과가 나왔다. 이는 두 개의 쿼리가 실행되었기 때문에 각각의 결과를 확인할 수 있도록 “쿼리 결과” 탭 중에서 “작업 정보” 하위 탭이 선택되어 있는 것이다. 이렇게 하면 각각의 쿼리가 실행된 시간, 처리된 바이트, 처리된 행 등을 확인할 수 있다. 그래서 각 쿼리의 결과를 직접 확인하려면 각 쿼리의 개략적인 결과를 정리한 표의 오른쪽에 위치한 “결과 보기” 버튼을 누르면 된다.
쿼리 실행 - 03

다음과 같이 개별 쿼리의 결과를 확인할 수 있다.
쿼리 실행 - 04

부분 쿼리 실행

쿼리의 경우 전체 쿼리를 실행하는 것 뿐만 아니라 부분 쿼리를 실행하는 것도 가능하다. 이는 쿼리 편집기에서 실행하고자 하는 부분을 드래그하여 선택한 후에 마우스 우클릭을 하여 Windows 운영체제인 경우 [Ctrl] + [Enter] 단축키를 누르면 된다.
쿼리 실행 - 05

주기적 실행

여러 클라우드 프로덕트뿐만 아니라 일반적인 상황에서 특정 코드를 주기적으로 실행하도록 세팅하는 것은 아무리 다양한 별도의 프로덕트가 시중에 있다지만 그 기능이 내장되어있다면 사용하기 매우 편리하다. 빅쿼리의 경우가 이러한 경우이다.

예약 설정

쿼리 편집기의 우상단에 [⏱️ 일정] 버튼을 눌러 관련 설정을 할 수 있다.
쿼리 예약 실행 - 01

쿼리를 주기적으로 실행하게 예약 하려면 많은 설정을 해야한다. 여기서 매우 주의해야 할 부분은 최초 시간에는 “UTC”라고 되어있고 쿼리가 일본 시간 기준으로 되어있기 때문에 “JST”로 표기된 것도 볼 수 있다.
쿼리 예약 실행 - 02

일단 이것저것 입력을 해보았다.
쿼리 예약 실행 - 03

필요하다면 다음과 같이 쿼리 종료 시간대를 지정함에 있어 특정 국가의 시간대를 기준으로 설정할 수 있고, 여기서는 “대한민국”으로 검색하여 “서울” 도시가 뜨는 것을 확인하고 선택하였다.
쿼리 예약 실행 - 04

추가로 다음과 같이 지정해주었으며 저장되는 데이터의 리전은 “서울”로 선택하였다.
쿼리 예약 실행 - 05
쿼리 예약 실행 - 06

마지막으로 설정한 내용을 검토한 후 [저장] 버튼을 누르면 예약 설정이 완료된다.

혹시나 한 브라우저에서 여러 개의 구글 계정을 사용하는 경우 “BigQuery Data Transfer Service” 권한을 위해 어떤 계정을 선택할 것인지 묻는 별도의 로그인(또는 인증)창이 뜰 수 있다. 이때는 원하는 계정을 선택하면 된다. 엄밀히 말하자면 현재 GCP에서 사용하는 프로젝트의 계정을 선택하는 것이다.
계정 로그인 창

결과 확인

앞에서 즉시 실행을 설정했기 때문에 예약된 내용과 관계 없이 한 번은 실행된 결과를 관련 페이지에서 확인할 수 있다. 화면 왼쪽의 사이드바에서 [⏱️예약된 쿼리] 메뉴를 클릭해보자.
쿼리 예약 실행 결과 확인 - 01

예약 실행된 쿼리 목록을 확인해보자. 왼편의 초록 동그라미에 체크(✅) 표시는 쿼리가 올바르게 실행되었다는 뜻이며 에러가 발생한 경우에는 빨간 동그라미(🔴)가 표시된다.
쿼리 예약 실행 결과 확인 - 02

예약 쿼리의 상세 내용을 확인해보면 다음과 같다.
쿼리 예약 실행 결과 확인 - 03

별일 없이 실행이 잘 되었으니 데이터가 지정된 테이블에 잘 적재되었는지 확인해보기 위해 생성한 데이터세트의 테이블을 살펴보자.
쿼리 예약 실행 결과 확인 - 04

일단 테이블은 잘 만들어졌으니 테이블에 데이터가 적재되었는지 확인해보자.
쿼리 예약 실행 결과 확인 - 05

쿼리가 “select 1”이라는 단순한 쿼리이기 때문에 하나의 열에 숫자가 1 하나가 들어간 것은 적절한 결과라고 할 수 있다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×