애널리틱스 빅쿼리 사용하기

빅쿼리(BigQuery) 란

구글 빅쿼리는 구글에서 제공하는 데이터를 관리하고 분석할 수 있게 해주는 완전 관리형 엔터프라이즈 데이터 웨어하우스로 테라바이트 급의 데이터를 SQL 쿼리를 이용해 아주 빠르게 처리할 수 있는 서비스입니다.

Hive 애널리틱스를 통해 Hive 애널리틱스로 전송된 로그를 구글 빅쿼리를 이용해 처리할 수 있습니다.

 

Hive 애널리틱스에서 빅쿼리는 아래의 절차를 거쳐 사용할 수 있습니다.

  • 구글 계정 생성
  • 빅쿼리 권한 신청하기
  • 빅쿼리 사용하기

구글 계정 생성하기

Hive 애널리틱스 빅쿼리에 접근하기 위해서는 구글 지메일 계정이 반드시 필요합니다. 구글 지메일은 구글 사이트에 접속하여 가입할 수 있습니다.

 

빅쿼리 권한 신청하기

Hive 애널리틱스에서 빅쿼리에 접근하기 위해서는 간단한 신청 절차가 필요합니다.

회사의 Hive 콘솔 권한 관리자는 Hive 콘솔 > Hive 애널리틱스 > 로그 정의 메뉴에서 빅쿼리 접근 기능을 이용하여 구글 지메일 계정을 등록하여 신청을 할 수 있습니다.

빅쿼리 접근 버튼을 클릭하고 구글 지메일 계정을 입력 후 신청 버튼을 누르면 권한 적용이 즉시 처리됩니다.

구글 지메일 주소가 유효하지 않은 경우에는 권한 적용이 불가능합니다.

 

빅쿼리 사용하기

빅쿼리 처음 접속을 위한 사항 확인하기

애널리틱스 빅쿼리에 접근하기 위해서는 구글 클라우드가 1개 이상 반드시 생성되어야 합니다.

처음 접근하는 사용자는 구글의 Bigquery 샌드박스 사용하기 가이드를 통해 구글 프로젝트를 생성하고, 샌드박스 환경으로 접근할 수 있습니다.

빅쿼리 샌드박스 환경을 통해 무료 사용량 한도 내에서 빅쿼리 데이터를 조회할 수 있습니다.

제한된 할당량 또는 기능 이상으로 사용할 경우 빅쿼리 업그레이드가 필요합니다.

빅쿼리 접근하기

빅쿼리 프로젝트가 존재하고, 애널리틱스 빅쿼리 접근 권한이 승인되면 Hive 콘솔 > Hive 애널리틱스 > 로그 정의 메뉴에서 빅쿼리 접근 기능을 이용하여 애널리틱스 빅쿼리에 접근할 수 있습니다.

그 다음 애널리틱스 빅쿼리에 접근하여 다음의 내용을 수행하여 기본 설정을 마치면, SQL을 실행하여 로그를 조회할 수 있게 됩니다.

 

빅쿼리 즐겨찾기 설정하기

애널리틱스 데이터가 저장된 빅쿼리는 즐겨찾기 기능을 통해 쉽게 데이터셋에 접근할 수 있습니다.

좌측 상단의 “추가” 버튼을 클릭한 후 “이름으로 프로젝트에 별표표시”를 클릭합니다.

그 다음, 노출되는 팝업창에  fluted-airline-109810 를 입력한 후 “별표표시” 버튼을 클릭합니다.

빅쿼리 콘솔 좌측 탐색기에 fluted-airline-109810 프로젝트가 추가된 것을 확인할 수 있으며, 화살표 버튼을 클릭하면 접근 가능한 데이터셋이 노출되어 테이블과 정보를 조회할 수 있습니다.

 

 

 

빅쿼리 SQL 실행하기

빅쿼리의 SQL을 실행하기 위해서는 프로젝트에 Bigquery 작업 사용자 권한이 별도로 필요하지만,

빅쿼리 샌드박스 환경으로 생성한 프로젝트를 이용하는 경우 무료 사용량 한도까지는 별도의 추가 권한 설정 없이 조회가 가능합니다.

만약, 무료 사용량 한도 이상의 SQL 처리를 원하는 경우 빅쿼리 업그레이드를 통해 사용 가능합니다.

 

1개 이상의 구글 프로젝트가 생성되어 있는 경우, 빅쿼리에 접근하면 실행 가능한 프로젝트가 자동으로 설정되며 아래와 같이 확인할 수 있습니다.

만약 위 그림처럼 설정된 프로젝트가 보이지 않는다면, 다음의 방법으로 설정할 수 있습니다.

우선, 프로젝트가 노출되는 빨간색 네모 영역을 클릭합니다. 그 다음, 위에서 생성한 구글 프로젝트 이름을 입력합니다. 구글 프로젝트 이름은 사용자가 입력한 값으로 Bigquery 작업 사용자 권한이 부여된 구글 프로젝트를 입력합니다.

 

+ 버튼을 클릭하여 SQL 에디터 창을 1개 생성한 후 쿼리를 작성합니다. fluted-airline-109810 좌측의 삼각형 버튼을 클릭하면 접근 가능한 리스트를 조회할 수 있습니다.

SQL 에디터 창에 쿼리를 입력하여 실행 버튼을 클릭하면 로그를 조회할 수 있습니다.

 

 

SQL 참고사항

  • FROM 절은 fluted-airline-109810.analytics_숫자_live.테이블명 형태로 명시되어야 합니다.

샘플쿼리. 애널리틱스 로그인 로그 조회

SELECT datetime, appid, guid
FROM fluted-airline-109810.analytics_77777_live.t_hive_login_log
WHERE DATE(dateTime) = date(datetime_add(current_datetime('Asia/Seoul'),interval -9 hour))
-- dateTime의 타임존은 UTC
LIMIT 1   

 

구글 빅쿼리에 데이터 업로드 후 Hive 애널리틱스 빅쿼리 데이터와 JOIN하기

구글 빅쿼리 프로젝트를 생성하여 데이터를 업로드하는 경우, 애널리틱스 로그 테이블과 JOIN하여 SQL을 실행할 수 있습니다. 단, 빅쿼리의 데이터셋 생성시 데이터 위치는 US(미국의 멀티리전)으로 구성되어야 합니다.

진행 순서

  • 구글 빅쿼리 프로젝트 생성하기
  • US 리전으로 빅쿼리 데이터셋 생성하기
  • 데이터 업로드 하기
  • 애널리틱스 빅쿼리 데이터와 JOIN하기

구글 빅쿼리 프로젝트 생성하기

 

US 리전으로 빅쿼리 데이터셋 생성하기

  • 빅쿼리 콘솔 접근 후 데이터 셋 만들기에서 데이터 위치를 us(미국의 멀티 리전) 선택 후 “데이터 세트 만들기” 버튼을 클릭합니다.

테이블 생성과 데이터 업로드 하기

  • 생성된 데이터 세트에 테이블 만들기를 참고하여 테이블을 생성합니다.
  • 생성된 테이블에 테이블 데이터 관리를 참고하여 데이터 업로드합니다. 대표적으로는 CSV 파일을 업로드하거나, 쿼리 결과를 테이블로 저장하는 케이스가 있습니다.

 

SQL 실행 프로젝트 설정하기

  • 좌측 상단의 C2S-DW를 클릭하면 노출되는 팝업에서 COM2US.COM 조직을 선택합니다.
  • “habq-”로 시작하는 프로젝트 1개를 선택하여 클릭합니다.

 

애널리틱스 빅쿼리 데이터와 JOIN하기

  • SQL 에디터 창에 쿼리를 입력하여 실행 버튼을 클릭하여 SQL 실행합니다.

 

샘플 쿼리. 애널리틱스 로그인 로그와 빅쿼리 프로젝트에 업로드 한 테이블 JOIN 조회

SELECT a.vid, b.vid
FROM fluted-airline-109810.analytics_7777_live.t_hive_login_log a
inner join tribal-booth-366804.test.upload_test b on b.vid = a.vid
WHERE DATE(dateTime) = date(datetime_add(current_datetime('Asia/Seoul'),interval -9 hour))  

 

빅쿼리 권한 회수 신청하기

Hive 애널리틱스 빅쿼리에 권한을 신청하여 할당받은 경우 회수를 요청할 수 있습니다.

Hive 콘솔 > Hive 애널리틱스 > 로그 정의 메뉴에서 빅쿼리 접근 기능을 이용하면, 이전에 신청한 접근 권한을 조회할 수 있습니다.

권한 회수가 필요한 계정을 선택 후 권한회수 버튼을 클릭하여 신청할 수 있습니다.

처리에는 최대 2영업일이 소요되며, 회수 처리가 완료되면 신청된 계정의 메일 주소로 결과가 전송됩니다.