CONVERT TO DELTA SQL 명령은 Parquet 및 Apache Iceberg 테이블을 Delta Lake 테이블로 일회성 변환을 수행합니다. Parquet 또는 Iceberg 테이블을 Delta Lake로 증분 변환하려면 Parquet 및 Apache 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 LTS 이상에서 지원됩니다.
- Iceberg 메타스토어 테이블 변환은 지원되지 않습니다.
- Iceberg 테이블 이(가) 파티션 진화를 겪은 경우 변환이 지원되지 않습니다.
- 업데이트, 삭제 또는 병합이 발생한 Iceberg 병합-읽기 테이블 변환은 지원되지 않습니다.
- 다음은 잘린(절단된) 열에 파티션이 정의된 Iceberg 테이블을 변환할 때의 제한 사항입니다.
- Databricks Runtime 12.2 LTS 이하에서 지원되는 유일한 잘린 열 형식은
string. - Databricks Runtime 13.3 LTS 이상에서는
string,long또는int형식의 잘린 열을 사용할 수 있습니다. - Azure Databricks는
decimal형식의 잘린 열 작업을 지원하지 않습니다.
- Databricks Runtime 12.2 LTS 이하에서 지원되는 유일한 잘린 열 형식은
스토리지 위치에 대한 쓰기 액세스 권한이 있는 한 Parquet 데이터 파일의 디렉터리를 Delta Lake 테이블로 변환할 수 있습니다. Unity 카탈로그를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용은 Unity 카탈로그를 사용하여 클라우드 개체 스토리지에 연결을 참조하세요.
참고
Unity 카탈로그에는 Azure Data Lake Storage가 필요합니다.
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 EXTERNAL TABLE 권한이 필요합니다.
참고
Databricks Runtime 11.3 LTS 이상의 경우 CONVERT TO DELTA Hive 메타스토어에 등록된 테이블에 대한 분할 정보를 자동으로 유추합니다. Unity 카탈로그 외부 테이블에 대한 분할 정보를 제공해야 합니다.
관리 테이블과 외부 테이블을 Unity 카탈로그의 Delta Lake로 변환
CONVERT TO DELTA 구문은 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);