뷰에 대한 외부 액세스

Important

Iceberg REST 카탈로그를 통한 외부 뷰에 대한 접근은 베타 단계입니다. Unity REST API를 통한 뷰 접근은 일반적으로 가능합니다.

외부 엔진은 다음 API를 사용하여 Unity 카탈로그 뷰를 쿼리할 수 있습니다:

외부 엔진은 뷰의 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 런타임과 다를 수 있습니다.