다음을 통해 공유


외부 시스템을 사용하여 Databricks 데이터에 액세스

이 페이지에서는 Azure Databricks에서 관리하고 관리하는 데이터를 다른 시스템에서 사용할 수 있도록 하기 위한 기능 및 권장 사항에 대한 개요를 제공합니다.

이러한 패턴은 조직에서 신뢰할 수 있는 도구 또는 시스템을 Azure Databricks 데이터에 통합해야 하는 시나리오에 초점을 맞춥니다. 조직 외부의 데이터 공유에 대한 지침을 찾고 있는 경우 다른 조직의 사용자와 안전하게 데이터 및 AI 자산 공유를 참조하세요.

Azure Databricks는 어떤 외부 액세스를 지원하나요?

Azure Databricks는 Unity 카탈로그를 사용하여 모든 데이터 자산을 관리하는 것이 좋습니다. Unity 카탈로그는 Iceberg REST 카탈로그를 사용하여 Unity REST API 및 Apache Iceberg 클라이언트를 사용하여 Delta Lake 클라이언트에 통합을 제공합니다. 지원되는 통합의 전체 목록은 Unity 카탈로그 통합을 참조하세요.

다음 표에서는 Unity 카탈로그 개체에 대한 지원 형식 및 액세스 패턴에 대한 개요를 제공합니다.

Unity 카탈로그 개체 지원되는 형식 액세스 패턴
관리되는 테이블 델타 레이크, 빙산 Unity REST API, Iceberg REST 카탈로그, 델타 공유
외부 테이블 Delta Lake Unity REST API, Iceberg REST 카탈로그, 델타 공유, 클라우드 URI
외부 테이블 CSV, JSON, Avro, Parquet, ORC, 텍스트 Unity REST API, 클라우드 URI
외부 볼륨 모든 데이터 형식 클라우드 URI
외세 테이블* 델타 레이크, 빙산 Unity REST API, Iceberg REST 카탈로그(미리 보기), 델타 공유
외세 테이블* CSV, JSON, Avro, Parquet, ORC, 텍스트 Unity REST API, 클라우드 URI

* 카탈로그 페더레이션을 사용하여 페더레이션된 외세 테이블만 지원됩니다. 외부 테이블의 외부 엔진에서 새로 읽기를 보장하기 위해 고객은 Lakeflow 작업을 사용하여 정기적으로 메타데이터를 새로 고칠 수 있습니다.

비고

Iceberg 지원은 Delta Lake를 사용하지만 Iceberg 읽기(UniForm)를 사용하도록 설정된 Azure Databricks에서 작성한 테이블을 설명합니다.

이러한 Unity 카탈로그 개체에 대한 자세한 내용은 다음을 참조하세요.

Unity 카탈로그 자격 증명 자동 판매기

Unity 카탈로그 자격 증명 자동 판매기를 사용하면 사용자가 Azure Databricks가 관리하는 데이터에 대한 권한을 상속하도록 외부 클라이언트를 구성할 수 있습니다. Iceberg 및 Delta 클라이언트는 모두 자격 증명 자동 판매기를 지원할 수 있습니다. 외부 시스템 액세스을 위한 Unity 카탈로그 자격 증명 발급을 참조하세요.

델타 클라이언트를 사용하여 테이블 읽기

Unity REST API를 사용하여 지원되는 델타 클라이언트에서 Delta Lake에서 지원하는 Unity 카탈로그 관리 및 외부 테이블을 읽습니다. 델타 클라이언트에서 Databricks 테이블 읽기를 참조하세요.

Iceberg 클라이언트를 사용하여 테이블 읽기

Azure Databricks는 Unity 카탈로그에 등록된 테이블에 대한 읽기 전용 지원을 Iceberg 클라이언트에 제공합니다. 지원되는 클라이언트에는 Apache Spark, Apache Flink, Trino 및 Snowflake가 포함됩니다. Apache Iceberg 클라이언트에서 Azure Databricks 테이블에 액세스하는 방법을 참조하세요.

도메인 간에 읽기 전용 테이블 공유

델타 공유를 사용하여 도메인 및 지원되는 시스템에서 관리되는 또는 외부 델타 테이블에 대한 읽기 전용 액세스 권한을 부여할 수 있습니다. 델타 공유 테이블의 0부 읽기를 지원하는 소프트웨어 시스템에는 SAP, Amperity 및 Oracle이 포함됩니다. 다른 조직의 사용자와 안전하게 데이터 및 AI 자산 공유참조하세요.

비고

델타 공유를 사용하여 고객 또는 파트너에게 읽기 전용 액세스 권한을 부여할 수도 있습니다. 또한 델타 공유는 Databricks Marketplace를 사용하여 공유된 데이터를 백업합니다.

외부 델타 테이블 만들기, 읽기 및 쓰기

중요합니다

외부 Delta Lake 클라이언트에서 Unity 카탈로그 외부 테이블 만들기는 공개 미리 보기로 제공됩니다.

클라우드 개체 스토리지 URI 및 자격 증명을 사용하여 외부 Delta Lake 클라이언트에서 Delta Lake에서 지원되는 Unity 카탈로그 외부 테이블을 만들고 읽고 쓸 수 있습니다. 테이블을 만들려면 외부 클라이언트에서 외부 델타 테이블 만들기를 참조하세요.

Unity 카탈로그는 외부 시스템의 클라우드 개체 스토리지에 대해 직접 수행되는 읽기 및 쓰기를 제어하지 않으므로 데이터 거버넌스 정책이 Azure Databricks 외부에서 준수되도록 클라우드 계정에서 추가 정책 및 자격 증명을 구성해야 합니다.

비고

Azure Databricks 설명서에는 Databricks 런타임 버전 및 플랫폼 기능을 기반으로 하는 제한 사항 및 호환성 고려 사항이 나열되어 있습니다. 클라이언트에서 지원하는 판독기 및 기록기 프로토콜 및 테이블 기능을 확인해야 합니다. delta.io 참조하세요.

외부 테이블을 사용하여 Delta Lake가 아닌 테이블 형식 데이터에 액세스

Unity 카탈로그 외부 테이블은 Parquet, ORC, CSV 및 JSON을 포함하여 Delta Lake 이외의 많은 형식을 지원합니다. 외부 테이블은 테이블을 만드는 동안 제공된 클라우드 URI로 지정된 클라우드 개체 스토리지 위치의 디렉터리에 있는 모든 데이터 파일을 저장합니다. 다른 시스템은 클라우드 개체 스토리지에서 직접 이러한 데이터 파일에 액세스합니다.

Unity 카탈로그는 외부 시스템의 클라우드 개체 스토리지에 대해 직접 수행되는 읽기 및 쓰기를 제어하지 않으므로 데이터 거버넌스 정책이 Azure Databricks 외부에서 준수되도록 클라우드 계정에서 추가 정책 및 자격 증명을 구성해야 합니다.

여러 시스템에서 외부 테이블을 읽고 쓰면 Delta Lake 이외의 형식에 대한 트랜잭션 보장이 제공되지 않으므로 일관성 문제 및 데이터 손상이 발생할 수 있습니다.

Unity 카탈로그는 Delta Lake 이외의 형식으로 지원되는 외부 테이블에 기록된 새 파티션을 선택하지 않을 수 있습니다. Databricks는 Unity 카탈로그가 외부 시스템에서 작성한 모든 데이터 파일을 등록하도록 정기적으로 실행하는 MSCK REPAIR TABLE table_name 것이 좋습니다.

외부 볼륨을 사용하여 테이블 형식이 아닌 데이터에 액세스

Databricks는 외부 볼륨을 사용하여 Azure Databricks 외에도 외부 시스템에서 읽거나 쓴 테이블 형식이 아닌 데이터 파일을 저장하는 것이 좋습니다. Unity 카탈로그 볼륨이란 무엇인가?를 참조하십시오.

Unity 카탈로그는 외부 시스템의 클라우드 개체 스토리지에 대해 직접 수행되는 읽기 및 쓰기를 제어하지 않으므로 데이터 거버넌스 정책이 Azure Databricks 외부에서 준수되도록 클라우드 계정에서 추가 정책 및 자격 증명을 구성해야 합니다.

볼륨은 파일을 가져오고 볼륨에 넣기 위한 API, SDK 및 기타 도구를 제공합니다. Unity 카탈로그 볼륨의 파일 작업을 참조하세요.

비고

델타 공유를 사용하면 볼륨을 다른 Azure Databricks 계정에 공유할 수 있지만 외부 시스템과 통합되지는 않습니다.