다음을 통해 공유


테이블이란?

테이블은 스키마에 상주하며 데이터 행을 포함합니다. Azure Databricks에서 만든 모든 테이블은 기본적으로 Delta Lake를 사용합니다. Delta Lake에서 지원되는 테이블을 델타 테이블이라고도 합니다.

델타 테이블은 데이터를 클라우드 개체 스토리지의 파일 디렉터리로 저장하고 카탈로그 및 스키마 내의 메타스토어에 테이블 메타데이터를 등록합니다. 모든 Unity 카탈로그 관리 테이블 및 스트리밍 테이블은 델타 테이블입니다. Unity 카탈로그 외부 테이블은 델타 테이블일 수 있지만 필요하지는 않습니다.

Delta Lake를 사용하지 않는 Databricks에 테이블을 만들 수 있습니다. 이러한 테이블은 델타 테이블의 트랜잭션 보장 또는 최적화된 성능을 제공하지 않습니다. Delta Lake 이외의 형식을 사용하여 다음 테이블 형식을 만들도록 선택할 수 있습니다.

  • 외부 테이블.
  • 외장 테이블입니다.
  • 레거시 Hive 메타스토어에 등록된 테이블입니다.

Unity 카탈로그에서 테이블은 3개 수준 네임스페이스의 세 번째 수준(catalog.schema.table):에 있습니다.

테이블에 초점을 맞춘 Unity 카탈로그 개체 모델 다이어그램

Azure Databricks 테이블 형식

Azure Databricks를 사용하면 다음 유형의 테이블을 사용할 수 있습니다.

관리형 테이블

관리되는 테이블은 메타스토어 등록과 함께 기본 데이터 파일을 관리합니다. Databricks는 새 테이블을 만들 때마다 관리되는 테이블을 사용하는 것이 좋습니다. Azure Databricks에서 테이블을 만들 때 Unity 카탈로그 관리 테이블은 기본값입니다. 항상 Delta Lake를 사용합니다. 관리되는 테이블 작업을 참조하세요.

외부 테이블

관리되지 않는 테이블이라고도 하는 외부 테이블은 메타스토어 등록에서 기본 데이터 파일의 관리를 분리합니다. Unity 카탈로그 외부 테이블은 외부 시스템에서 읽을 수 있는 일반적인 형식을 사용하여 데이터 파일을 저장할 수 있습니다. 외부 테이블 작업을 참조하세요.

Delta 테이블

Delta 테이블이라는 용어는 Delta Lake에서 지원되는 모든 테이블을 설명하는 데 사용됩니다. 델타 테이블은 Azure Databricks의 기본값이므로 테이블에 대한 대부분의 참조는 달리 언급하지 않는 한 델타 테이블의 동작을 설명합니다.

Databricks는 항상 파일 경로가 아닌 정규화된 테이블 이름을 사용하여 델타 테이블과 상호 작용하는 것이 좋습니다.

스트리밍 테이블

스트리밍 테이블은 주로 증분 데이터를 처리하는 데 사용되는 델타 테이블입니다. 스트리밍 테이블에 대한 대부분의 업데이트는 새로 고침 작업을 통해 수행됩니다.

Databricks SQL을 사용하여 Unity 카탈로그에 스트리밍 테이블을 등록하거나 델타 라이브 테이블 파이프라인의 일부로 정의할 수 있습니다. Databricks SQL에서 스트리밍 테이블을 사용하여 데이터 로드를 참조하세요. 델타 라이브 테이블이란?

외세 테이블

외장 테이블은 Lakehouse Federation을 통해 Azure Databricks에 연결된 외부 시스템에 저장된 데이터를 나타냅니다. 외장 테이블은 Azure Databricks에서 읽기 전용입니다. 레이크하우스 페더레이션이란?

기능 테이블

기본 키가 있는 Unity 카탈로그에서 관리하는 델타 테이블은 기능 테이블입니다. 필요에 따라 짧은 대기 시간 사용 사례에 대해 온라인 기능 저장소를 사용하여 기능 테이블을 구성할 수 있습니다. 작업 영역 기능 저장소의 기능 테이블 작업을 참조하세요.

Hive 테이블(레거시)

Hive 테이블은 Azure Databricks에 대한 두 가지 고유한 개념을 설명하며, 둘 다 레거시 패턴이며 권장되지 않습니다.

레거시 Hive 메타스토어를 사용하여 등록된 테이블은 기본적으로 레거시 DBFS 루트에 데이터를 저장합니다. Databricks는 레거시 HMS에서 Unity 카탈로그로 모든 테이블을 마이그레이션하는 것이 좋습니다. 레거시 Hive 메타스토어의 데이터베이스 개체를 참조 하세요.

Apache Spark는 Hive 테이블 등록 및 쿼리를 지원하지만 이러한 코덱은 Azure Databricks에 최적화되지 않습니다. Databricks는 외부 시스템에서 작성한 데이터에 대한 쿼리를 지원하기 위해서만 Hive 테이블을 등록하는 것이 좋습니다. Hive 테이블(레거시)을 참조하세요.

라이브 테이블(사용되지 않음)

라이브 테이블이라는 용어는 이제 구체화된 뷰구현된 기능의 이전 구현을 나타냅니다. 라이브 테이블을 참조하는 모든 레거시 코드는 구체화된 뷰에 구문을 사용하도록 업데이트해야 합니다. Delta Live Tables란?을 참조하고 Databricks SQL에서 구체화된 뷰를 사용합니다.

기본 테이블 사용 권한

테이블을 만들려면 사용자에게 스키마에 대한 CREATE TABLEUSE SCHEMA 권한과 해당 부모 카탈로그에 대한 USE CATALOG 권한이 있어야 합니다. 테이블을 쿼리하려면 테이블에 대한 사용 권한, USE SCHEMA 해당 부모 스키마에 대한 권한 및 USE CATALOG 부모 카탈로그에 대한 권한이 있어야 합니다SELECT.

Unity 카탈로그 권한에 대한 자세한 내용은 Unity 카탈로그의 권한 관리를 참조 하세요.