이 페이지에서는 Unity REST API를 사용하여 외부 델타 클라이언트에서 Unity 카탈로그 관리 및 외부 테이블에 액세스하는 방법에 대한 개요를 제공합니다. 외부 클라이언트에서 외부 델타 테이블을 만들려면 외부 클라이언트 에서 외부 델타 테이블 만들기를 참조하세요.
Iceberg REST 카탈로그 사용하여 Apache Spark 및 DuckDB를 비롯한 지원되는 Iceberg 클라이언트에서 Azure Databricks의 Unity 카탈로그 등록 테이블을 읽습니다.
지원되는 통합의 전체 목록은 Unity 카탈로그 통합을 참조하세요.
팁
Microsoft Fabric을 사용하여 Azure Databricks 데이터를 읽는 방법에 대한 자세한 내용은 Microsoft Fabric을 사용하여 Unity 카탈로그등록된 데이터를 읽어보세요.
Unity REST API를 사용하여 읽기 및 쓰기
Unity REST API는 외부 클라이언트가 Unity 카탈로그에 등록된 테이블에 대한 읽기 권한을 제공합니다. 일부 클라이언트는 테이블을 만들고 기존 테이블에 쓰는 것도 지원합니다.
엔드포인트 /api/2.1/unity-catalog사용하여 액세스를 구성합니다.
요구 사항
Azure Databricks는 Unity 카탈로그의 일부로 테이블에 대한 Unity REST API 액세스를 지원합니다. 이러한 엔드포인트를 사용하려면 작업 영역에서 Unity 카탈로그를 사용하도록 설정해야 합니다. 다음 표 형식은 Unity REST API 읽기에 적합합니다.
- Unity 카탈로그에서 관리되는 테이블.
- Unity 카탈로그 외부 테이블.
Unity REST API를 사용하여 델타 클라이언트에서 Databricks 개체를 읽도록 액세스를 구성하려면 다음 구성 단계를 완료해야 합니다.
- 메타스토어에 외부 데이터 액세스 사용하도록 설정합니다. 메타스토어에서 외부 데이터 액세스 사용을 참조하세요.
- 통합을 구성하는 보안 주체에게 개체가
EXTERNAL USE SCHEMA포함된 스키마에 대한 권한을 부여합니다. 보안 주체 Unity 카탈로그 권한 부여를 참조하세요. - 다음 방법 중 하나를 사용하여 인증합니다.
- PAT(개인용 액세스 토큰): Azure Databricks 리소스에 대한 액세스 권한 부여를 참조하세요.
- OAuth M2M(컴퓨터 간) 인증: 장기 실행 Spark 작업(>1시간)에 대해 자동 자격 증명 및 토큰 새로 고침을 지원합니다. OAuth를 사용하여 Azure Databricks에 대한 서비스 주체 액세스 권한 부여를 참조하세요.
PAT 인증을 사용하여 Apache Spark를 사용하여 델타 테이블 읽기
PAT 인증을 사용하여 Apache Spark를 사용하여 Unity 카탈로그 관리 및 외부 델타 테이블을 읽으려면 다음 구성이 필요합니다.
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
다음 변수를 대체합니다.
-
<uc-catalog-name>: 테이블을 포함하는 Unity 카탈로그의 이름입니다. -
<workspace-url>: Azure Databricks 작업 영역의 URL입니다. -
<token>: 통합을 구성하는 보안 주체를 위한 개인용 액세스 토큰(PAT)입니다.
장기 실행 작업에 대해 자동 자격 증명 갱신을 사용하도록 설정하려면 다음 구성을 추가합니다.
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
비고
위에 표시된 패키지 버전은 이 페이지의 마지막 업데이트를 기준으로 현재 버전입니다. 최신 버전을 사용할 수 있습니다. 패키지 버전이 Databricks 런타임 버전 및 Spark 버전과 호환되는지 확인합니다.
클라우드 개체 스토리지용 Apache Spark를 구성하는 방법에 대한 자세한 내용은 Unity 카탈로그 OSS 설명서를 참조하세요.
OAuth 인증을 통해 Apache Spark를 사용하여 델타 테이블을 읽기
Azure Databricks는 OAuth M2M(컴퓨터 대 컴퓨터) 인증도 지원합니다. OAuth는 Unity 카탈로그 인증에 대한 토큰 갱신을 자동으로 처리합니다. 장기 실행 작업에 대해 자동 클라우드 스토리지 자격 증명 갱신이 필요한 경우, Spark 구성에서 spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled 설정을 활성화합니다.
외부 Spark 클라이언트에 대한 OAuth 인증에는 다음이 필요합니다.
- Unity Catalog Spark 클라이언트 버전 0.3.1 이상(
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 이상
- OAuth를 지원하는 Delta Spark 4.0.1 이상
- 적절한 권한이 있는 OAuth M2M 서비스 주체입니다. OAuth를 사용하여 Azure Databricks에 대한 서비스 주체 액세스 권한 부여를 참조하세요.
OAuth 인증을 사용하여 Apache Spark를 사용하여 Unity 카탈로그 관리 테이블 및 외부 델타 테이블을 읽으려면 다음 구성이 필요합니다.
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
다음 변수를 대체합니다.
-
<uc-catalog-name>: 테이블을 포함하는 Unity 카탈로그의 이름입니다. -
<workspace-url>: Azure Databricks 작업 영역의 URL입니다. 작업 영역 인스턴스 이름, URL 및 ID를 참조하세요. -
<oauth-token-endpoint>: OAuth 토큰 엔드포인트 URL입니다. 이 URL을 생성하려면 다음을 수행합니다.- Databricks 계정 ID를 찾습니다. 계정 ID 찾기를 참조하세요.
- 다음 형식을 사용합니다.
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: 서비스 주체에 대한 OAuth 클라이언트 ID입니다. OAuth를 사용하여 Azure Databricks에 대한 서비스 주체 액세스 권한 부여를 참조하세요. -
<oauth-client-secret>: 서비스 주체에 대한 OAuth 클라이언트 암호입니다. OAuth를 사용하여 Azure Databricks에 대한 서비스 주체 액세스 권한 부여를 참조하세요.
비고
위에 표시된 패키지 버전은 이 페이지의 마지막 업데이트를 기준으로 현재 버전입니다. 최신 버전을 사용할 수 있습니다. 패키지 버전이 Spark 버전과 호환되는지 확인합니다.