Important
Iceberg REST 카탈로그를 통한 외부 뷰에 대한 접근은 베타 단계입니다. Unity REST API를 통한 뷰 접근은 일반적으로 가능합니다.
외부 엔진은 다음 API를 사용하여 Unity 카탈로그 뷰를 쿼리할 수 있습니다:
- Delta Lake 테이블에 대한 뷰용 Unity REST API입니다.
- Iceberg 호환 테이블에 대한 뷰를 위한 Iceberg REST 카탈로그.
외부 엔진은 뷰의 SQL을 실행하고 기본 테이블을 읽습니다. reader 권한 사용자는 뷰와 참조된 모든 뷰 또는 테이블에 접근할 수 있어야 합니다.
Requirements
- 메타스토어에 대해 외부 데이터 접근을 활성화하세요. Unity 카탈로그에 대한 외부 데이터 액세스 활성화을 참조하세요.
- 상위 카탈로그와 스키마에 대한
USE CATALOG및USE SCHEMA, 뷰와 참조된 모든 뷰 또는 테이블에 대한SELECT, 그리고 해당 테이블을 포함하는 스키마에 대한EXTERNAL USE SCHEMA권한 부여가 필요합니다. - Azure Databricks 개인 액세스 토큰 또는 OAuth 토큰으로 인증하세요.
- 외부 엔진과 호환되는 View SQL을 사용하세요.
Apache Spark의 뷰를 쿼리
Spark 예제의 최소 버전:
- 아파치 스파크 4.0.
- 델타 뷰의 경우: Unity 카탈로그 스파크 커넥터 0.6.0 및 델타 레이크 4.3.0.
- Iceberg 뷰의 경우: Apache Iceberg 1.10.0.
뷰에서 참조하는 카탈로그 이름도 포함해 Unity 카탈로그 이름을 Spark 카탈로그 이름으로 사용하세요.
델타 테이블 뷰
위에 나열된 Spark, Unity Catalog 커넥터 및 Delta Lake 버전을 사용하여 Delta 클라이언트에서 Databricks 테이블에 액세스로 Spark를 구성하세요.
뷰를 쿼리하려면 <schema>, <view>, <catalog>를 카탈로그, 스키마, 뷰 이름으로 바꾼 다음 Spark에서 다음 SQL을 실행합니다:
SELECT * FROM <catalog>.<schema>.<view>;
아이스버그 테이블 위의 뷰
위에 나열된 Spark와 Iceberg 버전을 사용하여 Apache Iceberg 클라이언트에서 Azure Databricks 테이블에 액세스를 사용해 Spark를 구성하세요.
뷰를 쿼리하려면 <schema>, <view>, <catalog>를 카탈로그, 스키마 및 뷰 이름으로 바꾼 다음 Spark에서 다음 SQL을 실행합니다:
SELECT * FROM <catalog>.<schema>.<view>;
제한 사항
- 외부 컴퓨팅에서 뷰를 생성하거나 변경하는 것은 지원되지 않습니다.
- 외부 엔진은 Spark SQL 방언으로 뷰 정의를 지원해야 합니다. 뷰를 참조하는 쿼리는 외부 엔진의 SQL 방언을 사용합니다.
Iceberg REST 카탈로그 접근을 위해:
- 세분화된 접근 제어 정책, 사용자 지정 확인 경로 또는 사용자 정의 함수가 있는 뷰는 지원되지 않습니다.
- 기록 보기 버전은 지원되지 않습니다.
- Spark는 리더의 SQL 설정을 사용합니다. 결과나 오류는 Databricks 런타임과 다를 수 있습니다.