For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
구글 빅쿼리
Amplitude UI를 통해 Amplitude 이벤트 데이터를 BigQuery에 반복적으로 데이터 동기화하도록 설정하거나, 과거 데이터의 동기화를 수동으로 시작하세요. 이 문서에서는 Amplitude 계정과 BigQuery 계정을 연결한 다음 데이터를 동기화하는 방법에 대해 설명합니다.
고려 사항
- 쿼리 비용을 절감하기 위해 Amplitude는 이벤트 테이블을
event_time의 날짜별로 분할합니다. 테이블 파티셔닝에 대한 자세한 내용은 BigQuery 문서를 참조하세요. - Amplitude는 내보내기에 대해 매일 무결성 검사를 실행합니다. 매일 Amplitude는 지난 며칠간 내보낸 이벤트 수를 확인합니다. 카운트가 예상 카운트와 일치하지 않을 경우, Amplitude는 해당 날짜에 대해 자동으로 다시 채우기를 실행합니다.
- 특히 이미 내보낸 데이터를 다시 채우는 동안 중복된 이벤트 내보내기가 발생할 수 있습니다. 이를 돕기 위해 Amplitude는 제공된 데이터 세트에
deduplicated_<appid>라는 테이블 함수를 생성합니다. 이 테이블 기능은 데이터가 중복 제거된 보기를 제공합니다.
데이터 중복 제거 테이블 기능 예제
SELECT * FROM `testProject.testDataset.deduplicated_EVENTS_12345`('2022-01-01', '2022-02-10');
회사의 네트워크 정책에 따라 Amplitude의 서버가 귀하의 BigQuery 인스턴스에 액세스할 수 있도록 허용하려면 다음 IP 주소를 허용목록에 추가해야 할 수도 있습니다.
- Amplitude 미국 IP 주소:
- 52.33.3.219
- 35.162.216.242
- 52.27.10.221
- Amplitude EU IP 주소:
- 3.124.22.25
- 18.157.59.125
- 18.192.47.195
- Amplitude 미국 IP 주소:
사전 조건
BigQuery로 내보내기를 시작하려면 다음이 필요합니다.
- BigQuery Transfer 서비스가 활성화된 BigQuery 프로젝트입니다.
- Amplitude의 서비스 계정입니다. 이를 통해 Amplitude는 귀하의 데이터를 Google Cloud 프로젝트로 내보낼 수 있습니다. 서비스 계정은 다음 역할을 활성화해야 합니다.
- BigQuery 사용자
- BigQuery 데이터 편집자
- 다음 권한 관리이 활성화된 사용자 지정 역할:
bigquery.transfers.getbigquery.transfers.updatebigquery.datasets.update
서비스 계정을 생성한 후에는 서비스 계정 키 파일을 생성하여 다운로드한 후 Amplitude에 업로드하십시오. Amplitude의 계정 키를 JSON 형식으로 내보냅니다.
연동 설정
반복 데이터 내보내기를 생성하는 과정은 3단계로 이루어집니다. 각 동기화는 10분 첫 사용 후 완료되며 모든 작업은 Amplitude에 표시됩니다.
Amplitude 데이터를 BigQuery로 반복적으로 내보내도록 설정하려면 다음 단계를 따르세요.
- Amplitude 데이터에서 카탈로그를 클릭하고 대상 탭을 선택합니다.
- 웨어하우스 목적지 섹션에서 빅 쿼리를 누릅니다.
- 시작하기 탭에서 내보낼 데이터와 내보내기 주기를 선택합니다. 현재 수집된 이벤트와 앞으로 진행되는 이벤트를 내보내거나, 병합된 모든 Amplitude ID를 내보내거나, 둘 다를 수행할 수 있습니다. 이벤트의 경우 필터링 조건을 지정하여 특정 기준을 충족하는 이벤트만 내보낼 수도 있습니다.
- 이벤트 테이블 및 병합 ID 테이블의 스키마를 검토하고 다음을 누릅니다.
- Amplitude 데이터를 수신할 BigQuery 데이터 세트를 지정하고 서비스 계정 키 파일을 업로드하세요. 이 파일은 JSON 형식이어야 합니다.
- 다음을 클릭합니다. Amplitude는 자격 증명을 테스트하기 위해 테스트 업로드를 시도합니다. 업로드가 성공적으로 완료되면 마침을 클릭하여 BigQuery 목적지 구성 및 활성화를 완료합니다.
Amplitude는 향후 이벤트와 병합된 사용자를 BigQuery로 자동으로 전송합니다. Amplitude는 최선의 노력을 기울여 파일을 사용자의 BigQuery 계정으로 내보냅니다. 내보내기는 일반적으로 매시간 실행되며 1시간 분량의 데이터를 포함하지만 덜 자주 실행되며 여러 시간 분량의 데이터를 포함할 수도 있습니다.
이벤트 테이블 스키마
이벤트 테이블 스키마에는 다음 열이 포함됩니다.
| 칼럼 | 유형 | 설명 |
|---|---|---|
Adid | 문자열 | (Android) Google Play 서비스 광고 ID(ADID). 예: AEBE52E7-03EE-455A-B3C4-E57283966239 |
amplitude_id | BIGNUMERIC | 사용자의 원래 Amplitude ID입니다. 이 필드를 사용하여 병합된 사용자를 자동으로 처리합니다. 예: 2234540891 |
app | 정수 | 프로젝트 ID는 프로젝트의 설정 페이지에서 찾을 수 있습니다. 예: 123456 |
city | 문자열 | 도시. 예: "샌프란시스코" |
client_event_time | 타임스탬프 | 장치가 이벤트를 기록한 시점의 로컬 타임스탬프(UTC)입니다. 예: 2015-08-10T12:00:00.000000 |
client_upload_time | 타임스탬프 | 장치가 이벤트를 업로드한 시점의 로컬 타임스탬프(UTC)입니다. 예: 2015-08-10T12:00:00.000000 |
country | 문자열 | 국가. 예: "미국" |
data | JSON | first_event및 등의 특정 merged_amplitude_id필드가 저장되는 딕셔너리 |
device_carrier | 문자열 | 장치 통신업체입니다. 예: Verizon |
device_family | 문자열 | 장치 제품군입니다. 예: Apple iPhone |
device_id | 문자열 | 디바이스별 식별자입니다. 예: C8F9E604-F01A-4BD9-95C6-8E5357DF265D |
device_type | 문자열 | 장치 유형입니다. 예: 애플 아이폰 5s |
dma | 문자열 | 지정된 마케팅 영역(DMA). 예: 샌프란시스코-오클랜드-캘리포니아 산호세 |
event_id | 정수 | 이벤트를 구별하는 카운터입니다. 예: 1 |
event_properties | JSON | |
event_time | 타임스탬프 | server_received_time와 client_upload_time의 차이에 client_event_time의해 조정되는 Amplitude 타임스탬프(UTC): 구체적으로: event_time = client_event_time + (server_received_time - client_upload_time) Amplitude는 이 타임스탬프를 사용하여 Amplitude 차트에서 이벤트를 구성합니다. 참고: server_received_time과 client_upload_time의 차이가 60초 미만인 경우, 해당 값은 조정되지 않으며 다른 값과 client_event_time동일합니다event_time. 예: 2015-08-10T12:00:00.000000 |
followed_an_identify | 부울 | 이 현재 SDK 이벤트와 마지막으로 확인된 SDK 이벤트 대상 구간 식별 이벤트가 있었으면 True입니다. 예: True |
group_properties | JSON | |
groups | JSON | 그룹 유형. 자세한 내용은 계정 문서를 참조하십시오. |
idfa | 문자열 | (iOS) 광고주의 식별자입니다. 예: AEBE52E7-03EE-455A-B3C4-E57283966239 |
ip_address | 문자열 | IP 주소입니다. 예: "123.11.111.11" |
is_attribution_event | 부울 | |
language | 문자열 | |
library | 문자열 | |
location_lat | 플로트 | 위도. 예: 12.3456789 |
location_lng | 플로트 | 경도. 예: -123.4567890 |
os_name | 문자열 | OS 이름입니다. 예: ios |
os_version | 문자열 | OS 버전입니다. |
paying | 문자열 | 사용자가 전체 수익을 기록한 적이 있는 경우 True이고 그렇지 않은 경우에는 None입니다. 참고: Identify API를 통해 속성 값을 수정할 수 있습니다. 예: true |
platform | 문자열 | |
processed_time | 타임스탬프 | |
region | 문자열 | 지역. 예: 캘리포니아 |
sample_rate | BIGNUMERIC | |
server_received_time | 타임스탬프 | |
server_upload_time | 타임스탬프 | Amplitude 서버가 이벤트를 수신한 시점의 Amplitude 타임스탬프(UTC). 예: 2015-08-10T12:00:00.000000 |
session_id | BIGNUMERIC | 에포크 날짜 이후 세션 시작 시간(밀리초)입니다. 예: 1396381378123 |
start_version | 문자열 | 사용자가 처음 추적된 앱 버전입니다. 예: 1.0.0 |
user_id | 문자열 | 직접 지정한 읽을 수 있는 ID입니다. 변경되지 않는 항목을 사용하십시오. 이러한 이유로 사용자의 전자 메일 주소를 사용하는 것은 권장되지 않습니다. |
user_properties | JSON | |
uuid | 문자열 | 행당 고유 식별자입니다(전송된 이벤트). 예: bf0b9b2a-304d-11e6-934f-22000b56058f |
version_name | 문자열 | 앱 버전입니다. 예: 1.0.0 |
병합된 사용자 테이블 스키마
병합된 사용자 테이블 스키마에는 다음이 포함되어 있습니다.
| 칼럼 | 유형 | 설명 |
|---|---|---|
amplitude_id | NUMBER(38,0) | Amplitude ID가 사용자의 원래 Amplitude ID에 병합됩니다. |
merge_event_time | 타임스탬프 | 사용자의 새 Amplitude ID가 원래 Amplitude ID와 연결된 이벤트의 시간입니다. |
merge_server_time | 타임스탬프 | 사용자의 새 Amplitude ID가 원래 Amplitude ID와 연결되었을 때의 이벤트의 서버 시간입니다. |
merged_amplitude_id | NUMBER(38,0) | 사용자가 처음 생성될 때 원래 할당된 Amplitude ID입니다. |
BigQuery 중복 제거 테이블
BigQuery에서 중복 제거 테이블을 생성하려면 다음과 같이 하십시오.
CREATE OR REPLACE TABLE FUNCTION `amplitude_bq_ingestion`.deduplicated_EVENTS(start_date DATE, end_date DATE)
AS
SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (
PARTITION BY uuid
) rn
FROM `amplitude_bq_ingestion`.`EVENTS`
WHERE DATE(event_time) >= start_date
and DATE(event_time) <= end_date) t
WHERE rn = 1;
이 내용이 도움이 되었나요?