테이블은 스키마에 상주하며 데이터 행을 포함합니다. Azure Databricks에서 만든 기본 테이블 형식은 Unity 카탈로그 관리 테이블입니다.
Azure Databricks의 테이블 형식에 대한 주요 차별화 요소는 다음 표에 설명된 대로 소유 카탈로그입니다.
테이블 형식 | 카탈로그 관리 | 읽기/쓰기 지원 | 성능 최적화 | 스토리지 비용 최적화 |
---|---|---|---|---|
관리 | Unity 카탈로그 | 예 | 예 | 예 |
외부 | 없음(파일만 해당) | 예 | 수동 전용 | 수동 전용 |
외국 | 외부 시스템 또는 카탈로그 서비스 | 읽기 전용 | 아니오 | 아니오 |
다음 예제에서는 5명의 직원에 대한 데이터가 포함된 prod.people_ops_employees
테이블을 보여 줍니다. 메타데이터는 Unity 카탈로그에 등록되고 데이터는 클라우드 스토리지에 저장됩니다.
스토리지 형식: Delta Lake 및 Apache Iceberg
Azure Databricks의 테이블 형식은 데이터를 소유하고 액세스하는 방법을 정의합니다. 별도로 스토리지 형식은 디스크에서 데이터를 물리적으로 구조화하고 추적하는 방법을 정의합니다.
Azure Databricks는 Delta Lake 및 Apache Iceberg의 두 가지 기본 개방형 테이블 형식을 지원합니다. 이러한 형식은 메타데이터를 추적하고 ACID 규정 준수, 시간 이동 및 기타 기능을 가능하게 하는 트랜잭션 스토리지 계층을 추가합니다.
- Delta Lake 는 Azure Databricks의 관리 및 외부 테이블에 대한 기본 스토리지 형식입니다.
- Apache Iceberg 는 Azure Databricks의 관리 테이블과 외대 테이블에서 지원됩니다. 이 형식은 Iceberg 에코시스템과 통합할 때 유용합니다.
관리되는 테이블
관리되는 테이블은 메타스토어 등록과 함께 기본 데이터 파일을 관리합니다. Databricks는 새 테이블을 만들 때마다 관리되는 테이블을 사용하는 것이 좋습니다. Azure Databricks에서 테이블을 만들 때 Unity 카탈로그 관리 테이블은 기본값입니다. Delta Lake 및 Apache Iceberg용 Azure Databricks에서 Unity 카탈로그 관리 테이블을 참조하세요.
외부 테이블
관리되지 않는 테이블이라고도 하는 외부 테이블은 클라우드 개체 스토리지와 같은 외부 스토리지 시스템의 Databricks 외부에 저장된 데이터를 참조합니다. 메타스토어 등록에서 기본 데이터 파일의 관리를 분리합니다. Unity 카탈로그는 Delta Lake를 비롯한 여러 형식의 외부 테이블을 지원합니다. Unity 카탈로그 외부 테이블은 외부 시스템에서 읽을 수 있는 일반적인 형식을 사용하여 데이터 파일을 저장할 수 있습니다. 외부 테이블 작업을 참조하세요.
외세 테이블
외장 테이블은 Lakehouse Federation을 통해 Azure Databricks에 연결된 외부 시스템에 저장된 데이터를 나타냅니다. 외장 테이블은 Azure Databricks에서 읽기 전용입니다. 외래 테이블 작업을 참조하세요.
Unity 카탈로그의 테이블
Unity 카탈로그에서 테이블은 다음 다이어그램과 같이 세 번째 수준 네임스페이스(catalog.schema.table
)의 세 번째 수준에 있습니다.
기본 테이블 사용 권한
대부분의 테이블 작업에는 테이블을 포함하는 카탈로그 및 스키마에 대한 USE CATALOG
및 USE SCHEMA
권한이 필요합니다.
다음 표에는 Unity 카탈로그의 일반적인 테이블 작업에 필요한 추가 권한이 요약되어 있습니다.
수술 | 권한 |
---|---|
테이블 만들기 | 포함된 스키마에서 CREATE TABLE |
테이블 쿼리 | 테이블 위의 SELECT |
테이블에 데이터 업데이트, 삭제, 병합 또는 삽입 | 테이블 위의 SELECT 및 MODIFY |
테이블 삭제 | 테이블 위의 MANAGE |
테이블 바꾸기 | 테이블에 있는 MANAGE , 포함된 스키마에 있는 CREATE TABLE |
Unity 카탈로그 권한에 대한 자세한 내용은 Unity 카탈로그의 권한 관리를 참조하세요.