다음을 통해 공유


뷰란?

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

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

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

Unity 카탈로그의 보기

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

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

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

참고 항목

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

지표 보기

Unity 카탈로그의 메트릭 뷰는 작업 영역의 모든 사용자가 중앙에서 유지 관리되고 액세스할 수 있는 재사용 가능한 비즈니스 메트릭을 정의합니다. 메트릭 뷰는 일반적으로 사용되는 KPI(예: 수익, 고객 수 또는 전환율)의 논리를 추상화하므로 대시보드, Notebook 및 보고서에서 일관되게 쿼리할 수 있습니다. 각 메트릭 뷰는 원본 테이블, 뷰 또는 SQL 쿼리를 기반으로 측정값 및 차원 집합을 지정합니다. 메트릭 뷰는 YAML에서 정의되고 SQL을 사용하여 쿼리됩니다.

메트릭 뷰를 사용하면 여러 도구 및 워크플로에서 중복될 수 있는 메트릭 정의의 불일치를 줄일 수 있습니다. 자세한 내용은 메트릭 보기를 참조하세요.

물리화된 뷰

구체화된 뷰는 정의 쿼리에서 반환된 결과를 증분 방식으로 계산하고 업데이트합니다. Azure Databricks의 구체화된 뷰는 특별한 종류의 델타 테이블입니다. Azure Databricks의 다른 모든 뷰는 쿼리할 때 뷰를 정의한 논리를 평가하여 결과를 계산하는 반면, 구체화된 뷰는 새로 고침 일정 또는 파이프라인 업데이트를 실행하여 업데이트를 처리할 때 결과를 처리하고 기본 테이블에 저장합니다.

Databricks SQL을 사용하여 Unity 카탈로그에 구체화된 뷰를 등록하거나 Lakeflow 선언적 파이프라인의 일부로 정의할 수 있습니다. Databricks SQL 및 Lakeflow 선언적 파이프라인에서 구체화된 뷰 사용을 참조하세요.

임시 보기

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

  • 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 방지하려면 작업 영역이 서버리스 컴퓨팅에 사용하도록 설정되어 있는지 확인합니다.

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