[Amplitude] 데이터 분석을 위한 첫 걸음, Raw Data 추출하기(feat. BigQuery)
[Amplitude] 데이터 분석을 위한 첫 걸음, Raw Data 추출하기(feat. BigQuery)

왜 Raw Data가 필요할까?

앰플리튜드는 다양한 기능을 제공하고 있어, 사용자가 손쉽게 데이터를 분석할 수 있습니다.

하지만 더 깊이 있는 분석을 하려 하거나, 데이터를 있는 그대로 검증해야 할 때는 Raw Data가 꼭 필요합니다.

문제는 앰플리튜드의 데이터가 플랫폼 내부에서 대규모 분석을 수행하도록 설계되어 있어,

Raw Data를 즉시 CSV나 JSON 등의 형태로 내보내는 기능을 지원하지 않는다는 점입니다. (관련 문서 확인하기)

 

 

답은 Destination, 그리고 BigQuery!

그렇다면 앰플리튜드에서 Raw Data를 추출할 방법은 없을까요?

다행히 있습니다. 그 해답은 바로 앰플리튜드의 Destination 기능입니다.

Destination 기능은 앰플리튜드에서 수집한 데이터(이벤트, 사용자 속성, 코호트 등)를 외부로 자동 전송하는 기능입니다.

이 데이터는 앰플리튜드 내부적으로 중복 제거와 사용자 병합 처리 등이 적용되지만,

분석에 활용하기에는 충분히 Raw Data에 가까운 형태라고 볼 수 있습니다.

이번 글에서는 이 Destination 기능을 활용해, BigQuery로 앰플리튜드의 데이터를 내보내는 방법에 대해 함께 살펴보겠습니다.

 

 

 

 

실전: Amplitude → BigQuery 연결하기

본격적으로 앰플리튜드의 데이터를 Google BigQuery로 내보내는 과정에 대해 살펴보겠습니다.

앰플리튜드에서 데이터를 외부로 내보내려면, Google Cloud Platform(BigQuery) 쪽에서도 데이터를 받아줄 준비가 필요합니다.

BigQuery에서 데이터 세트와 서비스 계정을 준비하고 키를 발급한 뒤, 앰플리튜드에서 Destination을 연결하는 순서로 진행합니다.

차근차근 따라 하면 누구나 앰플리튜드의 Raw Data를 BigQuery에 안전하게 적재할 수 있습니다.

 

* 본 글에서는 GCP가입 / 프로젝트 생성에 대해서 다루지 않습니다. (참고자료 확인하기)

 

 

 

Step 1. BigQuery 데이터 세트 준비

앰플리튜드의 데이터를 내보내기 위해선, 데이터를 담을 수 있는 상자(BigQuery 데이터 세트)가 우선 필요합니다.

  1. GCP 콘솔에서 BigQuery로 이동
  2. BigQuery 데이터 세트 생성

 

 

1. GCP 콘솔에서 BigQuery로 이동 (BigQuery 바로가기)

<화면1>

데이터 세트 생성을 위해 GCP 상단의 검색창에 ‘BigQuery’로 검색하고 선택합니다.

 

 

2. BigQuery 데이터 세트 생성

<화면2>

이동하면 생성했던 프로젝트명을 확인할 수 있습니다.

프로젝트명의 우측 더보기 버튼(점 세 개 버튼)을 클릭하면 ‘화면2’와 같이 메뉴가 나오는데, 여기서 ‘데이터 세트 만들기’ 를 클릭합니다.

 

<화면3>

‘데이터 세트 만들기’ 버튼을 누르면 ‘화면3’과 같은 내용을 확인할 수 있습니다.

여기서 중요한 항목은 ‘데이터세트 ID’ 입니다. 해당 항목이 앰플리튜드 설정에서 필요합니다.

과정 진행을 위해 저희는 ‘amplitude_raw_data’로 데이터세트 ID를 지정하겠습니다.

‘위치 유형’은 화면과 같이 설정하고, ‘데이터세트 만들기’ 버튼을 클릭해 과정을 완료합니다.

 

<화면4>

생성된 데이터세트는 ‘화면4’와 같이 프로젝트 하위에서 확인 가능합니다.

 

 

 

Step 2. GCP 서비스계정 준비

이전 단계에서 생성한 데이터세트를 앰플리튜드에서 사용할 수 있게 열쇠(서비스 계정)를 준비하겠습니다.

  1. 서비스 계정을 위한 역할 생성
  2. 데이터 전송을 위한 API 활성화
  3. 서비스 계정 생성
  4. 서비스 계정 키 발급

 

 

1. 서비스 계정을 위한 역할 생성 (역할 바로가기)

<화면5>

왼쪽 상단의 ‘탐색 메뉴(햄버거 버튼)’을 눌러 메뉴를 열면 ‘화면5’와 같은 내용을 확인할 수 있습니다.

여기서 ‘IAM 및 관리자 - 역할’을 클릭합니다.

 

<화면6>

‘역할’ 페이지로 이동을 완료했다면, 상단의 ‘+ 역할 만들기’ 버튼을 클릭합니다.

그러면 ‘화면6’과 같은 내용을 확인할 수 있습니다.

여기서 제목은 이후 과정에서 활용하므로 입력한 내용을 기억합니다.

‘+ 권한 추가’ 버튼을 누르면 팝업창이 표시되고, 아래 3개의 권한을 검색하여 추가해줍니다.

  • bigquery.transfers.get
  • bigquery.transfers.update
  • bigquery.datasets.update

추가를 완료했다면 ‘만들기’ 버튼을 클릭합니다.

 

 

2. 데이터 전송을 위한 API 활성화 (Data Trasfer API 바로가기)

<화면7>

좌측 상단의 ‘탐색 메뉴’를 클릭하고 ‘API 및 서비스 - 라이브러리’를 클릭합니다.

 

<화면8>

‘data transfer’로 검색을 진행하고, ‘BigQuery Data Transfer API’를 클릭합니다.

 

<화면9>

활성화되어 있지 않다면 ‘사용’ 버튼을 클릭해 활성화시켜줍니다.

 

 

3. 서비스 계정 생성 (서비스 계정 바로가기)

<화면10>

왼쪽 상단의 ‘탐색 메뉴(햄버거 버튼)’을 눌러 메뉴를 열면 ‘화면10’과 같은 내용을 확인할 수 있습니다.

여기서 ‘IAM 및 관리자 - 서비스 계정’을 클릭합니다.

 

<화면11>

‘서비스 계정’ 페이지로 이동했다면 상단의 ‘+ 서비스 계정 만들기’를 클릭합니다.

클릭하면 ‘화면11’의 내용을 확인할 수 있습니다.

원하는 ‘서비스 계정 이름’을 입력한 후에 ‘만들고 계속하기’ 버튼을 클릭합니다.

 

<화면12>

‘화면12’와 동일한 화면이 보인다면 ‘역할 선택’이라고 적힌 드롭다운 버튼을 클릭합니다.

여기서 아까 생성한 역할 이름으로 검색을 진행해 역할을 추가해줍니다.

 

<화면13>

‘+ 다른 역할 추가’ 버튼을 눌러 추가로 2개 권한을 등록하고 ‘계속’ 버튼을 클릭합니다.

  • BigQuery 사용자 (BigQuery User)
  • BigQuery 데이터 편집자 (BigQuery Data Editor)

‘액세스 권한이 있는 주 구성원 (선택사항)’에서는 다른 입력 없이 ‘완료’ 버튼을 클릭해 서비스 계정 생성을 종료합니다.

 

 

4. 서비스 계정 키 발급

<화면14>

‘화면14’의 화면을 확인할 수 있으며, 여기서 이메일을 클릭해 서비스 계정의 세부정보로 이동합니다.

 

<화면15>

‘화면15’와 같이 ‘키’ 탭으로 이동하고, ‘키 추가 - 새 키 만들기’를 순서대로 클릭합니다.

표시되는 팝업에서 ‘JSON’을 선택하고 ‘만들기’ 버튼을 클릭해 키를 생성합니다.

생성이 완료되면 자동으로 다운로드가 진행되며, 이 파일은 다음 단계에서 사용됩니다.

 

 

 

Step 3. 앰플리튜드 Destination 설정

이제 앰플리튜드와 BigQuery를 연결하는 단계입니다. 이번 단계에서는 이전 단계에서 작업한 내용들을 활용합니다.

  1. Destination의 BigQuery 선택
  2. 내보내기 설정
  3. 데이터세트 / 키 설정
  4. Destination과 BigQuery 연결 확인

 

 

1. Destination의 BigQuery 선택

<화면16>

앰플리튜드에서 ‘데이터 - 목적지’를 클릭해 이동합니다. 이동 후에 우측 상단의 ‘+ 목적지 추가’ 버튼을 클릭합니다.

 

<화면17>

이동이 완료되었다면, ‘화면17’과 같이 BigQuery로 검색을 진행한 후에 ‘BigQuery’를 클릭합니다.

Popular 목적지와 Storage 목적지, 2개의 BigQuery가 표시되는데 동일한 내용이므로 어느 것을 선택해도 무관합니다.

 

 

2. 내보내기 설정

<화면18>

클릭 후에 ‘화면18’과 같은 화면을 확인할 수 있습니다.

여기서 첫 번째 체크박스를 활성화시킵니다. 전송 주기는 5분, 10분, 30분, 1시간, 3시간 중에 선택이 가능합니다.

원하는 값을 선택하고 우측 상단의 ‘다음 →’ 버튼을 클릭합니다.

 

 

3. 데이터세트 / 키 설정

<화면19>

Step 1에서 생성한 데이터세트 아이디를 ‘데이터 세트’ 입력란에 입력합니다.

Step 2에서 발급받은 키 파일(JSON)을 ‘서비스 계정 키’ 입력란에 등록합니다.

이후 우측 상단의 ‘다음 →’ 버튼을 클릭해 다음 단계로 이동합니다.

 

 

4. Destination과 BigQuery 연결 확인

<화면20>

앰플리튜드에서 ‘데이터세트 ID’와 ‘키 파일’을 활용하여 연결 여부를 확인합니다.

Step 1, 2의 과정을 마쳤더라도, GCP 내부 설정이 전파되기 전에 시도하면 실패할 수 있습니다.

실패한 경우에는 ‘뒤로’ 버튼으로 되돌아간 뒤, 잠시 후 ‘다음’ 버튼을 눌러 재시도합니다.

 

<화면21>

‘화면21’과 같은 성공 화면이 나올 때까지 시도한 후에 ‘다음’ 버튼을 클릭합니다.

목적지 이름을 입력하는 팝업이 표시되는데, 원하는 이름을 입력한 후 연결을 마무리합니다.

 

 

 

 

BigQuery에서 만나는 앰플리튜드 데이터

<화면22>

이제 모든 설정이 끝났습니다. 전송이 시작되면 ‘화면22’처럼 BigQuery 데이터 세트 하위에

이벤트 테이블이 자동으로 만들어지고, 주기적으로 새로운 데이터가 채워집니다.

앰플리튜드 안에서만 보던 이벤트들이 이제는 BigQuery에서 직접 쿼리 가능한 형태로 쌓이게 되는 것이죠.

덕분에 단순 집계부터 복잡한 사용자 행동 분석까지, 원하는 방식과 툴을 활용해 자유롭게 다룰 수 있습니다.

 

이제 BigQuery에서 직접 쿼리를 작성하고, 팀에 맞는 분석을 시작해 보세요.

데이터를 통한 비즈니스 성장!
회사에 맞는 최적화된 솔루션을 찾아보세요
labbit을 통한 눈에 뛰는 성장
문의하기