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.
Amazon RedShift
웨어하우스에 대한 이벤트 필터링은 EU 지역에서 사용할 수 없습니다.
Amplitude 이벤트 데이터를 Redshift 계정에 업로드하세요. Amplitude UI를 통해 반복 동기화를 설정할 수 있으며 과거 데이터의 동기화를 수동으로 시작할 수 있습니다.
제한
- 단일 Redshift SQL 쿼리의 최대 실행 시간은 12시간입니다.
고려 사항
- Amplitude는 공용 Redshift 엔드포인트만 지원합니다. 개인 엔드포인트는 지원되지 않습니다.
- 기본적으로 Redshift 클러스터는 전체 들어오는 트래픽을 허용하지 않습니다. Redshift 클러스터의 보안 그룹에 Amplitude의 IP 주소를 허용목록에 추가해야 합니다.
사전 조건
Amplitude에서 관리자 권한과 Redshift에서 리소스를 활성화할 수 있는 역할이 필요합니다.
Redshift 클러스터의 보안 그룹에서 Amplitude의 IP 주소를 허용목록에 추가하십시오. 자세한 내용은 Redshift 설명서를 참조하십시오.
Redshift 클러스터와 연결된 보안 그룹 페이지에서 인바운드 규칙을 추가합니다. 자세한 지침은 Redshift 문서를 참조하십시오.
Redshift 클러스터에 할당된 보안 그룹을 찾으려면 다음과 같이 하십시오.
Redshift 클러스터로 이동합니다.
속성 탭으로 이동한 후 네트워크 및 보안 설정에서 VPC 보안 그룹에 대한 링크를 사용합니다.
다음 정보를 추가하십시오.
- 프로토콜: TCP.
- 포트 범위: 데이터 소스에서 사용되는 열린 포트의 번호입니다.
- 소스: 사용자 지정 IP(기본값). Amplitude 데이터 센터를 EU 또는 미국 중 어느 곳에서 사용하고 있는지에 따라 올바른 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 주소:
- 설명: 규칙에 대한 설명입니다.
연동 설정
Redshift로 반복적으로 데이터 내보내기 설정
반복 데이터 내보내기를 생성하는 과정은 3단계로 이루어집니다. 각 동기화는 일반적으로 5~10분 첫 사용 후 완료되며 각 작업의 상태를 모니터링할 수 있습니다.
Amplitude 데이터를 Redshift로 반복적으로 내보내도록 설정하려면 다음과 같이 하십시오.
Amplitude 데이터에서 카탈로그를 클릭하고 대상 탭을 선택합니다.
웨어하우스 대상 섹션에서 Redshift를 클릭합니다.
Redshift로 데이터 내보내기에서 내보낼 데이터를 선택합니다. 오늘 수집된 이벤트 및 향후 이벤트를 내보내거나, 병합된 모든 Amplitude ID 내보내기, 또는 둘 다를 선택할 수 있습니다. 이벤트의 경우 필터링 조건을 지정하여 특정 기준을 충족하는 이벤트만 내보낼 수도 있습니다.
이벤트 테이블 및 병합 ID 테이블 스키마를 검토하고 다음을 누릅니다.
Amplitude에 대한 Redshift 자격 증명 섹션에 다음 정보를 입력하십시오.
- 사용자: Amplitude가 Redshift 인스턴스에 연결하기 위해 사용하는 Redshift 사용자 계정입니다.
- 비밀번호: 사용자와 연결된 비밀번호입니다.
- 데이터베이스: Amplitude가 데이터를 내보내고 저장하는 데이터베이스입니다. Amplitude는 Amplitude 데이터를 위한 전용 데이터베이스를 구축할 것을 권장합니다.
- 클러스터 호스트 주소: 데이터베이스를 호스팅하는 클러스터의 끝점의 주소입니다.
- 포트: 클러스터 호스트 주소의 포트입니다. 포트에는 숫자만 포함될 수 있습니다. 기본값은 5439입니다.
자격 증명 섹션 옆에서, Amplitude는 Redshift 객체를 생성하는 데 사용하는 쿼리를 동적으로 생성합니다. 클립보드에 복사하려면 복사를 클릭합니다. 이제 Redshift CLI에 붙여넣을 수 있습니다.
다음을 클릭합니다. Amplitude는 사용자가 입력한 자격 증명을 사용하여 테스트 데이터를 업로드하려고 시도합니다. 업로드가 성공적으로 완료되면 완료를 클릭합니다.
Amplitude는 모든 향후 이벤트를 자동으로 Redshift로 전송합니다.
여기에서 Amplitude는 최선의 노력을 기울여 마이크로 배치 파일을 생성하여 이를 고객 소유의 Redshift 계정에 로드합니다. 내보내기는 일반적으로 10분마다 실행되지만 시스템 로드와 데이터 양에 따라 자주 실행되지 않을 수도 있습니다. 일반적으로 Amplitude가 이벤트를 수신한 후 20분 첫 사용 후 Redshift 계정에서 데이터를 볼 수 있지만 시기는 다를 수 있습니다.
과거 Amplitude 데이터를 Redshift로 내보내기
Amplitude에서 Redshift로 과거 데이터를 내보내려면 다시 채우기 탭으로 이동하여 날짜 범위를 선택한 다음 다시 채우기 시작을 클릭하십시오.
이 프로세스는 데이터 볼륨, 웨어하우스 크기, 클러스터 수행 회수가, 네트워크 대역폭, 현재 보유하고 있는 동시 기록 데이터 내보내기 수 등 여러 요인에 따라 하루에서 몇 주까지 걸릴 수 있습니다.
다시 채우기 범위가 이전에 내보낸 데이터의 범위와 겹치는 경우 Amplitude는 중복된 데이터를 제거합니다.
Redshift 내보내기 형식
이벤트 테이블 스키마에는 다음 열이 포함됩니다.
| 칼럼 | 유형 | 설명 |
|---|---|---|
Adid | 문자열 | (Android) Google Play 서비스 광고 ID(ADID). 예: AEBE52E7-03EE-455A-B3C4-E57283966239 |
amplitude_event_type | VARCHAR(1677721) | Amplitude가 생성한 이벤트를 기반으로 한 Amplitude 특정 식별자입니다. 이 필드는 기존 필드이므로 event_type모든 쿼리에 충분해야 합니다. |
amplitude_id | BIGNUMERIC | 사용자의 원래 Amplitude ID입니다. 이 필드를 사용하여 병합된 사용자를 자동으로 처리합니다. 예: 2234540891 |
app | INT64 | 프로젝트 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 | 슈퍼 | first_event와 같은 특정 필드를 저장하는 merged_amplitude_id딕셔너리. |
device_brand | 문자열 | 장치 브랜드입니다. 예: Apple |
device_carrier | 문자열 | 장치 통신업체입니다. 예: Verizon |
device_family | 문자열 | 장치 제품군입니다. 예: Apple iPhone |
device_id | 문자열 | 디바이스별 식별자입니다. 예: C8F9E604-F01A-4BD9-95C6-8E5357DF265D |
device_manufacturer | 문자열 | 장치 제조업체입니다. 예: Apple |
device_model | 문자열 | 장치 모델입니다. 예: iPad Mini |
device_type | 문자열 | 장치 유형입니다. 예: 애플 아이폰 5s |
dma | 문자열 | 지정된 마케팅 영역(DMA). 예: 샌프란시스코-오클랜드-캘리포니아 산호세 |
event_id | INT64 | 이벤트를 구별하는 카운터입니다. 예: 1 |
event_properties | 슈퍼 | |
event_time | 타임스탬프 | Amplitude 타임스탬프(UTC)client_event_time는 server_received_time와 의 차이에 따라 client_upload_time조정됩니다. 구체적으로: event_time = client_event_time + ( server_received_time- client_upload_time) Amplitude는 이 타임스탬프를 사용하여 Amplitude 차트의 이벤트를 구성합니다. 참고: server_received_time와 client_upload_time간의 차이가 60초 미만이면 event_time는 조정되지 않으며 client_event_time와 동일합니다. 예: 2015-08-10T12:00:00.000000 |
event_type | 문자열 | |
followed_an_identify | 불 | 이 현재 SDK 이벤트와 마지막으로 확인된 SDK 이벤트 대상 구간 식별 이벤트가 있었으면 True입니다. 예: True |
group_properties | 슈퍼 | |
groups | 슈퍼 | 그룹 유형. 자세한 내용은 계정 문서를 참조하십시오. |
idfa | 문자열 | (iOS) 광고주의 식별자입니다. 예: AEBE52E7-03EE-455A-B3C4-E57283966239 |
ip_address | 문자열 | IP 주소입니다. 예: "123.11.111.11" |
is_attribution_event | 불 | |
language | 문자열 | |
library | 문자열 | |
location_lat | FLOAT64 | 위도. 예: 12.3456789 |
location_lng | FLOAT64 | 경도. 예: -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 | 슈퍼 | |
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입니다. |
문제 해결
데이터를 Redshift로 내보낼 때 몇 가지 일반적인 오류가 발생할 수 있습니다. 다음은 오류 및 관련 해결 방법의 목록입니다.
문자열 길이 초과 DDL 오류
이 오류는 문자열의 길이가 테이블 스키마에 정의된 최대 허용 길이를 초과할 때 발생합니다. 이 오류를 방지하려면 내보낼 데이터가 스키마 정의를 준수하는지 확인하십시오.
솔루션:
- 데이터 길이 유효성 검사: 데이터를 내보내기 전에 문자열 필드의 길이를 검사하여 허용되는 최대 길이를 초과하지 않는지 확인하십시오.
- 스키마 조정: 필요한 경우 VARCHAR 필드의 길이를 늘려 더 긴 문자열을 수용하도록 스키마를 조정합니다.
이 내용이 도움이 되었나요?