이 페이지에서

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.

데이터브릭스

조기 액세스

이 기능은 Early Access 버전입니다. 다음 기간동안 기능의 일부 측면은 여전히 개발 중일 수 있으며 이 문서가 항상 최신 상태인 것은 아닐 수도 있습니다. 질문이 있으시면 다음으로 문의하십시오: Amplitude Support.

Unity 카탈로그 델타 테이블을 통해 Amplitude 원시 이벤트 데이터를 Databricks 작업 공간에 로드하세요. 연결은 OAuth 워크로드 ID 페더레이션(WIF)을 통해 인증되므로 Amplitude는 작업 공간에 대해 오래 지속되는 클라이언트 비밀을 절대로 보유하지 않습니다.

고려 사항

  • Amplitude는 최선형(best-effort) 방식으로 내보내기를 제공합니다. Amplitude가 이벤트를 수신한 후 약 20분 첫 사용 후 데이터가 타겟 델타 테이블에 도착할 것으로 예상되지만 이 시간은 로드와 볼륨에 따라 다를 수 있습니다.
  • 동일한 Amplitude 프로젝트에서 여러 개의 Databricks 내보내기를 생성할 수 있습니다. 각 내보내기에는 고유한 이벤트 필터와 목적지 테이블이 있으므로 단일 프로젝트가 특정 용도로 제작된 테이블로 팬아웃될 수 있습니다.

사전 조건

Amplitude에서 관리자 또는 관리자 권한이 필요하며, Databricks에서 서비스 주체를 관리하고, Unity 카탈로그 권한을 생성하고, 계정 수준의 페더레이션 정책을 생성할 수 있는 역할이 필요합니다.

마법사를 열기 전에 Databricks에서 다음을 설정하십시오.

  • Unity 카탈로그 카탈로그와 스키마가 포함된 Databricks 작업 공간입니다. 작업 공간 호스트를 캡처합니다(예: https://dbc-xxxx.cloud.databricks.com).
  • SQL 웨어하우스입니다. Databricks UI의 SQL 웨어하우스 → 웨어하우스 → JSON 또는 URL 보기에서 웨어하우스 ID를 캡처합니다.
  • 설정 → ID 및 액세스 → 서비스 주체의 서비스 주체입니다. OAuth 비밀을 생성하지 마십시오. 둘 다 캡처:
    • application_id(UUID)입니다. 마법사는 이를 clientId이라고 부르며, 이는 런타임에 Amplitude가 사용하는 자격 증명입니다.
    • 숫자로 표시된 서비스 주체 ID입니다. 마법사는 이 정보를 사용하여 Federation Policy CLI 명령을 입력합니다.

워크로드 ID 페더레이션이 필요한 이유는 무엇입니까?

WIF는 OAuth 기계 간(M2M) 인증에 필요한 공유 클라이언트 암호를 제거합니다. 이 연동을 위한 더 안전한 기본값입니다.

  • 공유된 비밀이 없습니다. Amplitude는 라이브 내보내기 실행 외부에서 귀하의 서비스 주체로 인증되는 자격 증명을 절대로 받지 않습니다.
  • 교체할 것은 없습니다. 이 자격 증명은 수명이 짧은 JWT로, Amplitude의 인프라가 자동으로 생성하고 갱신합니다. 사용자 측의 암호나 키는 관리 범위를 벗어나거나, 만료되거나, 백업을 통해 유출되지 않습니다.
  • 한 줄로 취소 가능. 서비스 주체에 대한 페더레이션 정책을 삭제하면 동일한 작업 공간의 다른 통합에 영향을 주지 않고 Amplitude의 즉각적인 인증 기능이 중단됩니다.

마법사가 페더레이션 정책 명령과 Unity Catalog 권한 부여 SQL을 생성합니다. 설정 중에 Databricks에서 실행합니다.

연동 설정

설치 마법사는 시작하기와 설정이라는 두 단계로 구성됩니다. 마법사는 사용자가 입력할 때 Databricks CLI 명령과 권한 부여 SQL을 생성하므로, 페이지를 나가지 않고도 Databricks에서 이를 실행할 수 있습니다.

  1. Amplitude 데이터에서 카탈로그를 클릭하고 대상 탭을 선택합니다.

  2. 웨어하우스 대상 섹션에서 Databricks를 클릭합니다.

  3. 시작하기 단계에서 오늘 수집된 이벤트 내보내기 및 향후 발생하는 이벤트를 선택합니다. 빈도 선택기로 Amplitude가 데이터를 내보내는 빈도를 설정합니다(기본값은 매시간입니다). 특정 기준에 맞는 이벤트만 내보내려면 필터를 추가하십시오. 다음을 클릭합니다.

  4. 설정 단계에서 자격 증명(OAuth WIF) 세부 정보를 입력합니다.

    • 작업 공간 호스트: 체계를 포함한 전체 작업 공간 URL(예: https://dbc-xxxx.cloud.databricks.com).
    • 서비스 주체 ID(숫자): Databricks UI의 설정 → ID 및 액세스 → 서비스 주체 → 서비스 주체 아래에 있는 숫자 ID입니다. 마법사는 이 정보를 페더레이션 정책 명령을 입력하는 데만 사용합니다. Amplitude는 이를 저장하지 않습니다.
    • 서비스 주체의 application_id(clientId): 동일한 Databricks 페이지의 UUID입니다. 이것은 런타임에 Amplitude가 사용하는 자격 증명입니다.

    오른쪽에 있는 페더레이션 정책 명령을 복사한 다음 워크스페이스가 아닌 사용자 계정에 대해 인증된 Databricks CLI로 이를 실행하십시오. 이 명령어는 Databricks에게 Amplitude 환경의 JWT를 서비스 주체의 신원 증명으로 받아들이도록 지시합니다. 마법사는 프로젝트가 실행되는 Amplitude 환경에 맞게 명령에서 OIDC 발급자를 자동으로 설정합니다.

  5. 동일한 단계에서 Unity 카탈로그 대상을 입력합니다.

    • 카탈로그, 스키마, 테이블 이름: Amplitude가 이벤트를 기록하는 3부분으로 구성된 Unity 카탈로그 식별자입니다. Amplitude는 이것이 없는 경우 첫 번째 실행에서 해당 테이블을 생성합니다.
    • SQL 웨어하우스 ID: Amplitude가 COPY INTO문을 실행하는 데 사용하는 웨어하우스입니다.

    오른쪽에 있는 Unity 카탈로그 허가 SQL을 복사하여 Databricks SQL 편집기에서 실행하십시오. 그런 다음 Databricks UI에서 SQL 웨어하우스 → 웨어하우스 → 권한 관리를 열고 서비스 주체에게 CAN USE 권한을 부여합니다. 웨어하우스 권한은 SQL을 통해 부여할 수 없습니다.

  6. 완료를 클릭합니다.

Amplitude는 자격 증명과 내보내기 일정을 생성합니다. 첫 번째 실행은 사용자가 선택한 케이던스에 따라 다음 예약된 틱 시에 실행되며 자격 증명을 종단 간 검증합니다.

Amplitude의 액세스 권한 취소

Amplitude가 서비스 주체로 인증되지 않도록 하려면 4단계에서 생성한 페더레이션 정책을 삭제하십시오.

bash
databricks account service-principal-federation-policy list <sp-application-id> \
  --profile <your-databricks-account-profile>
databricks account service-principal-federation-policy delete <sp-application-id> <policy-id> \
  --profile <your-databricks-account-profile>

설정 다음 기간동안 페더레이션 정책 명령에 사용한 것과 동일한 Databricks 계정 프로파일을 사용하십시오. 작업 공간 범위가 지정된 프로파일은 이러한 하위 명령에 대해 401을 반환합니다.

정책을 삭제한 후 다음 예약된 실행은 실패하며 PERMISSION_DENIEDDatabricks는 서비스 주체에 대한 작업 공간 토큰 발급을 중지합니다. 또한 전체 유효한 토큰에 대한 데이터 액세스를 차단하려면 5단계에서 Unity 카탈로그 허가를 제거하십시오.

Databricks 내보내기 형식

데이터 위치

Amplitude는 설정 마법사에서 지정한 Unity 카탈로그 테이블에 이벤트를 기록합니다. 전체 식별자는 사용자가 입력한 값을 사용하는 {catalog}.{schema}.{table_name}입니다.

서로 다른 이벤트 슬라이스를 서로 다른 테이블로 라우팅

Amplitude의 Databricks 목적지를 사용하면 동일한 프로젝트에서 여러 개의 내보내기를 생성할 수 있습니다. 각 목적지는 고유한 이벤트 필터와 고유한 목적지 테이블을 가질 수 있으므로 프로젝트의 이벤트 스트림을 특정 용도로 제작된 테이블로 전달할 수 있습니다. 예를 들어 체크 아웃 이벤트를 필터링하여 analytics.finance.checkout_events에 저장하는 목적지 하나를 설정하고 참여 이벤트를 필터링하여 analytics.product.engagement_events에 저장하는 목적지 하나를 설정합니다.

이벤트 테이블 스키마

이벤트 테이블은 다음과 같은 델타 열을 사용합니다.

다시 채우기

연결 세부 정보 보기의 다시 채우기 탭은 반복 내보내기가 기록하는 동일한 델타 테이블에 과거 날짜 범위를 재생합니다. 다시 채우기를 사용하여 연결이 존재하기 전의 이벤트로 새 내보내기를 시드하거나, 업스트림 재처리 후 기록 창을 새로 고치거나, Databricks 측에서 다운스트림 데이터 손실을 복구할 수 있습니다.

향후 계획

곧 제공될 병합된

Amplitude ID 내보내기

: Amplitude의 사용자 병합 원장을 추적하는 두 번째 테이블로, 이벤트를 사용자의 정규 Amplitude ID에 다시 올바르게 조인할 수 있습니다.

데이터 구성 내보내기

: 이벤트 변환 및 사용자 지정 이벤트 정의의 스냅샷을 생성하므로 웨어하우스 측 쿼리는 Amplitude에서 구축한 의미와 일치합니다.

이 내용이 도움이 되었나요?