tech

BigQuery에서 애널리틱스 원본 데이터 조회하기

Hive 애널리틱스의 이벤트 원본 데이터는 BigQuery의 habq-storage 프로젝트에서 SQL로 직접 조회할 수 있다. 애널리틱스 관리자가 빅쿼리 접근 권한 관리에서 Google 계정의 조회 권한을 환경별로 신청하고, SQL을 실행할 Google Cloud 프로젝트를 준비하면 된다. 조회할 때는 UTC로 저장된 dateTime을 KST로 변환하고, checksum 기준으로 중복을 제거하며, 날짜 조건으로 필요한 파티션만 조회한다.

원본 데이터 활용한 데이터 검증

게임 이벤트를 수집한 뒤에는 이용자의 행동이 의도한 시점에 기록되었는지, 분석에 필요한 값이 빠짐없이 포함되었는지 확인해야 한다. 조회 기간이 길거나 여러 조건을 함께 적용해야 한다면 원본 이벤트를 직접 확인해야 할 때가 있다.

예를 들어 전송한 이벤트가 애널리틱스에서 확인되지 않는다면 수집 기준을 충족하지 못해 격리 테이블에 저장되었는지 점검해야 한다. 집계 수치가 예상보다 높다면 동일한 이벤트가 중복 전송되고 있지 않은지 확인할 수 있으며, 특정 기간·앱·국가에서 비정상적인 값이 반복되는지도 원본 로그를 통해 살펴볼 수 있다. 마켓 정산액과 매출 지표가 다를 때에는 대량의 구매 로그를 정산 데이터와 대조해 차이가 발생한 범위를 찾아야 한다.

BigQuery에서는 이러한 상황에 필요한 데이터를 SQL로 조회하고 중복 제거, 시간대 변환, 속성 추출 등의 전처리를 수행할 수 있다. 이를 통해 화면에 표시된 결과만으로는 알기 어려운 수집 오류와 집계 차이의 원인을 구체적으로 확인할 수 있다.

Hive 애널리틱스의 BigQuery 조회 환경

Hive 애널리틱스는 수집된 이벤트 데이터를 BigQuery에서 직접 조회할 수 있는 환경을 제공한다. 권한 신청부터 SQL 실행까지의 과정은 다음과 같다.

  1. Google 계정 준비
    BigQuery에 접근할 Gmail 또는 회사에서 사용하는 Google 계정을 준비한다.
  2. 권한 신청
    애널리틱스 관리자 권한을 가진 사용자가 계정 메뉴의 빅쿼리 접근 권한 관리에서 Google 계정을 등록한다. 권한은 신청한 애널리틱스 콘솔 환경에만 적용되므로 상용과 샌드박스 데이터를 모두 조회해야 한다면 각 환경에서 따로 신청한다. 신청 후에는 신청 내역에서 대기·완료·거절 등의 처리 상태를 확인한다. 권한은 일반적으로 즉시 부여되며, 신청 내역이 대기 상태인 경우에는 영업일 기준 최대 2일이 걸릴 수 있다.
  3. Google Cloud 프로젝트 준비
    SQL을 실행할 Google Cloud 프로젝트를 준비한다. Google Cloud 결제 계정이 없다면 BigQuery 샌드박스를 설정해 제한된 무료 범위에서 시작할 수 있다. 설정 방법과 제한 사항은 Google Cloud의 BigQuery 샌드박스 사용해 보기에서 확인할 수 있다.
  4. 애널리틱스 프로젝트 연결
    BigQuery 탐색기에서 habq-storage 프로젝트를 즐겨찾기에 추가한다. 프로젝트가 보이지 않는다면 데이터 추가에서 이름으로 프로젝트에 별표표시를 선택하고 habq-storage를 입력한다.
  5. 데이터셋과 테이블 확인
    프로젝트를 펼쳐 권한이 부여된 데이터셋과 이벤트 테이블을 확인한다. 상용 데이터는 habq-storage.analytics_N_live, 샌드박스 데이터는 habq-storage.analytics_N_sandbox에 저장된다. 데이터셋 이름의 N에는 회사별 식별값이 들어가며, 접근 가능한 데이터셋만 탐색기에 표시되므로 이 값을 별도로 확인할 필요는 없다. 조회할 수 있는 테이블의 종류와 용도, 주요 컬럼은 개발자 사이트의 BigQuery 테이블에서 확인할 수 있다.
  6. SQL 실행
    SQL을 실행하려면 선택한 Google Cloud 프로젝트에 BigQuery 작업 사용자 권한이 필요하다. BigQuery 샌드박스로 만든 프로젝트는 무료 사용량 한도까지 별도 권한 설정 없이 조회할 수 있다. 프로젝트를 선택한 뒤 SQL 편집기에서 쿼리를 실행한다.

업무 변경이나 퇴사 등으로 원본 데이터 조회가 더 이상 필요하지 않은 계정은 애널리틱스의 빅쿼리 접근 권한 관리에서 권한 회수를 신청한다. 필요한 계정과 환경만 유지하면 원본 데이터에 대한 접근 범위를 명확하게 관리할 수 있다.

BigQuery 조회 권한의 신청과 회수, Google Cloud 프로젝트 준비에 관한 자세한 절차는 개발자 사이트의 BigQuery 설정에서 확인할 수 있다.

BigQuery에서 이벤트 원본 데이터 조회해보기

예를 들어 상용 환경에서 수집된 contents_success 이벤트의 기본 정보와 속성을 확인한다고 가정해보자. Google BigQuery에 접속한 후, BigQuery 콘솔 왼쪽 상단의 프로젝트 선택 영역에서 SQL을 실행할 Google Cloud 프로젝트를 선택한다. SQL 편집기를 열어 다음과 같이 조회 조건을 구성한다.

SELECT
  userId,
  deviceId,
  appIdGroup,
  appId,
  DATETIME(TIMESTAMP_ADD(dateTime, INTERVAL 32400 SECOND)) AS dateTime_kst,
  attributes
FROM `habq-storage.analytics_N_live.t_raw_event_log`  --analytics_N_live: 권한이 부여된 상용 데이터셋
WHERE identifierProvider = 'hive'
  AND eventName = 'contents_success'  --조회할 이벤트명
  AND appIdGroup = 'com.sample.test'  --조회할 게임의 실제 appIdGroup
  AND dateTime >= TIMESTAMP_SUB(TIMESTAMP('2026-10-01 00:00:00'), INTERVAL 32400 SECOND)  --조회할 기간의 시작일
  AND dateTime < TIMESTAMP_SUB(TIMESTAMP('2026-10-08 00:00:00'), INTERVAL 32400 SECOND)  --조회할 기간의 종료일
QUALIFY ROW_NUMBER() OVER (
  PARTITION BY checksum
  ORDER BY bigqueryRegistTimestamp DESC
) = 1
LIMIT 100

쿼리를 실행하기 전에는 주석으로 표시한 값을 실제 조회 환경에 맞게 변경한다.

dateTime은 UTC 기준으로 저장되므로 예시에서는 9시간을 더해 KST로 표시한다. 조회 기간도 KST를 기준으로 설정하려면 시작 시각과 종료 시각에서 9시간을 빼 UTC 조건으로 변환한다.

동일한 이벤트가 다시 전송되면 중복 데이터가 저장될 수 있다. 예시의 QUALIFY 절은 checksum이 같은 데이터 중 bigqueryRegistTimestamp가 가장 최근인 한 건만 남긴다. 중복 제거 기준은 분석 목적과 이벤트 전송 방식에 맞게 적용한다.

t_raw_event_log는 dateTime을 기준으로 구성된 일별 파티션 테이블이다. 쿼리에는 날짜 조건을 함께 입력해 필요한 파티션만 조회하여 조회 비용을 줄일 수 있다. 실행 전에 BigQuery에 표시되는 예상 처리 용량도 확인하면 불필요한 데이터 조회와 비용을 줄일 수 있다.

조회 결과에서는 이용자와 앱 정보뿐만 아니라 attributes에 저장된 이벤트 속성도 확인할 수 있다. 특정 속성을 별도 열로 확인하려면 JSON_VALUE와 자료형 변환 함수를 이용해 필요한 값을 추출한다.

Hive 애널리틱스 시작해보기

BigQuery 조회 환경을 준비하면 특정 이벤트와 속성값을 원하는 조건으로 확인하고, 지표의 집계 기준을 원본 데이터와 비교할 수 있다.

Hive 애널리틱스는 Hive SDK를 통해 수집된 이벤트를 BigQuery에서 직접 조회할 수 있는 환경을 제공하는 게임 전문 애널리틱스 솔루션이다. 지금 Hive 애널리틱스에서 BigQuery 조회 권한을 신청하고 게임 데이터를 직접 살펴보자.

김동완 기자

애널리틱스가 게임 운영과 의사결정에 도움이 되기를 바랍니다. 앞으로도 게임 운영에 유용하게 활용할 수 있는 다양한 기능과 활용 방법을 꾸준히 소개할 예정이니, 애널리틱스에 많은 관심 부탁드립니다.


TOP