다음을 통해 공유


뷰란?

뷰는 Unity 카탈로그 메타스토어에서 하나 이상의 테이블과 뷰에 대한 쿼리의 결과인 읽기 전용 개체입니다. 여러 스키마 및 카탈로그의 테이블 및 다른 보기에서 보기를 만들 수 있습니다.

이 문서에서는 Azure Databricks에서 만들 수 있는 뷰를 설명하고 쿼리에 필요한 권한 및 컴퓨팅에 대한 설명을 제공합니다.

뷰를 만드는 방법에 대한 자세한 내용은 다음을 참조하세요.

Unity 카탈로그의 보기

Unity 카탈로그에서 뷰는 세 번째 수준 네임스페이스(catalog.schema.view)의 세 번째 수준에 있습니다.

뷰을 중심으로 한 Unity 카탈로그 개체 모델 다이어그램

뷰는 일반적으로 메타스토어의 하나 이상의 데이터 원본 또는 테이블에 대해 쿼리 텍스트를 저장합니다. Azure Databricks에서 뷰는 스키마의 개체로 유지되는 Spark DataFrame과 동일합니다. DataFrames와 달리 Azure Databricks의 어디에서나 뷰를 쿼리할 수 있습니다. 이 작업을 수행할 수 있는 권한이 있다고 가정합니다. 뷰를 만들면 데이터가 처리되거나 작성되지 않습니다. 쿼리 텍스트만 연결된 스키마의 metastore에 등록됩니다.

참고 항목

뷰는 델타 테이블 이외의 데이터 원본에서 지원되는 경우 다른 실행 의미 체계를 가질 수 있습니다. Databricks는 테이블 또는 뷰 이름을 사용하여 데이터 원본을 참조하여 항상 뷰를 정의하는 것이 좋습니다. 경로 또는 URI를 지정하여 데이터 세트에 대한 뷰를 정의하면 데이터 거버넌스 요구 사항이 혼란스러울 수 있습니다.

물리화된 뷰

구체화된 뷰는 정의 쿼리에서 반환된 결과를 증분 방식으로 계산하고 업데이트합니다.

Databricks SQL을 사용하여 Unity 카탈로그에 구체화된 뷰를 등록하거나 델타 라이브 테이블 파이프라인의 일부로 정의할 수 있습니다. Databricks SQL에서 구체화된 뷰 사용에 대한 정보는 을 참조하고, 델타 라이브 테이블에 대한 정보는 을 참조하세요.

임시 보기

임시 보기에는 제한된 범위와 지속성이 있으며 스키마 또는 카탈로그에 등록되지 않습니다. 임시 뷰의 수명은 사용 중인 환경에 따라 다릅니다.

  • Notebook 및 작업에서 임시 보기는 Notebook 또는 스크립트 수준으로 범위가 지정됩니다. 선언된 Notebook 외부에서 참조할 수 없으며 Notebook이 클러스터에서 분리될 때 더 이상 존재하지 않습니다.
  • Databricks SQL에서 임시 뷰는 쿼리 수준으로 범위가 지정됩니다. 동일한 쿼리 내의 여러 문이 임시 뷰를 사용할 수 있지만 동일한 대시보드 내에서도 다른 쿼리에서 참조할 수 없습니다.

동적 보기

동적 뷰를 사용하여 데이터 마스킹 외에도 행 및 열 수준 액세스 제어를 제공할 수 있습니다. 동적 뷰 만들기를 참조하세요.

Hive 메타스토어의 뷰 (레거시)

모든 데이터 원본에 대해 레거시 Hive 뷰를 정의하고 레거시 Hive 메타스토어에 등록할 수 있습니다. Databricks는 모든 레거시 Hive 보기를 Unity 카탈로그로 마이그레이션하는 것이 좋습니다. Hive 메타스토어보기를 참조하세요.

Hive 전역 임시 보기(레거시)

전역 임시 보기는 컴퓨팅 리소스에 대해 실행되는 모든 워크로드에서 사용할 수 있는 임시 보기를 등록할 수 있는 레거시 Azure Databricks 기능입니다. 글로벌 임시 뷰는 Hive 및 HDFS의 오래된 잔재입니다. Databricks는 전역 임시 뷰를 사용하지 않도록 권장합니다.

뷰 쿼리에 대한 요구 사항

Unity 카탈로그에 등록된 보기를 읽으려면 필요한 권한은 컴퓨팅 유형, Databricks 런타임 버전 및 액세스 모드에 따라 달라집니다.

참고 항목

모든 보기의 경우 보기 자체와 뷰가 빌드된 기본 테이블 및 뷰 모두에서 사용 권한 검사가 수행됩니다. 기본 테이블 및 뷰에 대한 사용 권한을 확인하는 사용자는 컴퓨팅에 따라 달라집니다. 다음의 경우 Unity 카탈로그는 기본 데이터에 대한 뷰 소유자의 권한을 확인합니다.

  • SQL 웨어하우스.
  • 공유 컴퓨팅.
  • 세부적인 액세스 제어가 설정된 Databricks Runtime 15.4 LTS 이상에서 단일 사용자 컴퓨팅

Databricks Runtime 15.3 이하의 단일 사용자 컴퓨팅의 경우 Unity 카탈로그는 뷰 소유자의 권한과 기본 데이터에 대한 보기 사용자의 사용 권한을 모두 확인합니다.

이 동작은 아래에 나열된 요구 사항에 반영됩니다. 두 경우 모두 보기 소유자는 보기 사용자가 보기에 액세스하기 위해 기본 데이터에 대한 권한을 유지 관리해야 합니다.

  • 모든 컴퓨팅 리소스의 경우 뷰 자체에 대한 SELECT, 부모 카탈로그에 USE CATALOG, 부모 스키마에 USE SCHEMA가 있어야 합니다. 이는 SQL 웨어하우스, 공유 액세스 모드의 클러스터 및 Databricks Runtime 15.4 이상의 단일 사용자 액세스 모드 클러스터를 포함하여 Unity 카탈로그를 지원하는 모든 컴퓨팅 유형에 적용됩니다.
  • 단일 사용자 액세스 모드를 사용하는 Databricks Runtime 15.3 이하 버전의 클러스터에서는, 보기가 참조하는 모든 테이블 및 뷰에 대한 SELECT이 있어야 하며, 여기에 추가로 그 부모 카탈로그에 대한 USE CATALOG과 부모 스키마에 대한 USE SCHEMA도 필요합니다.

참고 항목

Databricks Runtime 15.4 LTS 이상에서 단일 사용자 클러스터를 사용 중이고 기본 테이블 및 뷰에 SELECT 요구 사항을 방지하려면 작업 영역 서버리스 컴퓨팅사용하도록 설정되어 있는지 확인합니다.

서버리스 컴퓨팅은 데이터 필터링을 처리하므로 기본 테이블 및 뷰에 대한 사용 권한 없이 뷰에 액세스할 수 있습니다. 단일 사용자 컴퓨팅을 사용하여 뷰를 쿼리할 때 서버리스 컴퓨팅 요금이 발생할 수 있습니다. 자세한 내용은 단일 사용자 컴퓨팅에서의 세분화된 액세스 제어 을 참조하세요.