Delta Lake로 변환

CONVERT TO DELTA SQL 명령은 Parquet 테이블과 Iceberg 테이블을 Delta Lake 테이블로 일회성으로 변환합니다. Parquet 또는 Iceberg 테이블을 Delta Lake로 증분 변환하려면 Parquet 및 Iceberg 테이블을 Delta Lake로 증분 복제를 참조하세요.

Unity 카탈로그는 Unity 카탈로그에서 관리되는 외부 위치에 저장된 Parquet 및 Iceberg 테이블에 대해 CONVERT TO DELTA SQL 명령을 지원합니다.

Unity 카탈로그에서 기존 Parquet 데이터 파일을 외부 테이블로 구성한 다음 Delta Lake로 변환하여 Databricks Lakehouse의 모든 기능을 잠금 해제할 수 있습니다.

기술 설명서는 CONVERT TO DELTA를 참조하세요.

외부 위치에 있는 Parquet 또는 Iceberg 파일 디렉터리를 Delta Lake로 변환

참고 항목

  • Iceberg 테이블 변환은 공개 미리 보기로 제공됩니다.
  • Iceberg 테이블 변환은 Databricks Runtime 10.4 이상에서 지원됩니다.
  • Iceberg 메타스토어 테이블의 변환은 지원되지 않습니다.
  • 파티션 진화를 경험한 Iceberg 테이블 변환은 지원되지 않습니다.
  • 업데이트, 삭제 또는 병합이 발생한 Iceberg 병합-읽기 테이블 변환은 지원되지 않습니다.
  • 다음은 잘린 열에 정의된 파티션을 사용하여 Iceberg 테이블을 변환하기 위한 제한 사항입니다.
    • Databricks Runtime 12.2 LTS 이하에서 지원되는 유일한 잘린 열 형식은 다음과 같습니다 string.
    • Databricks Runtime 13.3 LTS 이상에서는 잘린 형식 stringlong열 또는 int.
    • Azure Databricks는 잘린 형식 decimal의 열 작업을 지원하지 않습니다.

스토리지 위치에 대한 쓰기 액세스 권한이 있는 한 Parquet 데이터 파일의 디렉터리를 Delta Lake 테이블로 변환할 수 있습니다. Unity 카탈로그를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용은 Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 대한 커넥트 참조하세요.

참고 항목

Unity 카탈로그에는 Azure Data Lake Storage Gen2가 필요합니다.

CONVERT TO DELTA parquet.`abfss://container@storageAccount.dfs.core.windows.net/parquet-data`;

CONVERT TO DELTA iceberg.`abfss://container@storageAccount.dfs.core.windows.net/iceberg-data`;

Unity 카탈로그에 변환된 테이블을 외부 테이블로 로드하려면 외부 위치에 대해 CREATE TABLES 권한이 필요합니다.

참고 항목

Databricks Runtime 11.3 LTS 이상의 CONVERT TO DELTA 경우 메타스토어에 등록된 테이블에 대한 분할 정보를 자동으로 유추하므로 파티션을 수동으로 지정해야 하는 요구 사항이 제거됩니다.

Unity 카탈로그에서 관리되는 테이블 및 외부 테이블을 Delta Lake로 변환

Unity 카탈로그에서는 외부 테이블에 대해 많은 형식이 지원되지만 관리되는 테이블의 경우 Delta Lake만 지원됩니다. 관리되는 Parquet 테이블을 관리형 Unity 카탈로그 Delta Lake 테이블로 직접 변환하려면 CLONE을 사용하여 Hive 관리 테이블을 Unity 카탈로그 관리 테이블로 업그레이드를 참조하세요.

외부 Parquet 테이블을 Unity 카탈로그 외부 테이블로 업그레이드하려면 업그레이드 마법사를 사용하여 단일 Hive 테이블을 Unity 카탈로그 외부 테이블로 업그레이드를 참조하세요.

외부 Parquet 테이블을 Unity 카탈로그에 등록한 다음, 이를 외부 Delta Lake 테이블로 변환할 수 있습니다. Parquet 테이블이 분할된 경우 분할 정보를 제공해야 합니다.

CONVERT TO DELTA catalog_name.database_name.table_name;

CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);