를 사용하여 관리되는 Iceberg 테이블의 독립적인 전체 복사본을 만들 수 있습니다 DEEP CLONE. 심층 복제는 데이터 파일과 테이블 메타데이터를 모두 Unity 카탈로그의 새로운 관리형 Iceberg 테이블에 복사합니다.
관리되는 Iceberg 테이블은 심층 복제만 지원합니다. 복제 중 단순 복제 및 형식 변환은 지원되지 않습니다.
Iceberg 테이블의 복제 방법
사용하는 복제 작업은 원본 및 대상 테이블 형식에 따라 달라집니다.
| Source | 목표/타겟 | Operation |
|---|---|---|
| 관리되는 빙산 | 관리되는 빙산 |
DEEP CLONE; |
| 외국 빙산 | 관리되는 빙산 |
DEEP CLONE;
외부 Iceberg 테이블을 관리형 Iceberg로 복제를 참조하십시오. |
| 파르케 또는 외국 빙산 | 관리형 또는 외부 Delta Lake | 증분 클론. Delta Lake에 Parquet 및 Apache Iceberg 테이블을 증분적으로 복제하는 방법을 참조하세요. |
기존 테이블을 복제하는 대신 쿼리 결과에서 관리형 Iceberg 테이블을 만들려면 CREATE TABLE ... AS SELECT을 사용하세요.
CREATE TABLE [USING]참조하세요.
SHALLOW CLONE 는 Iceberg 테이블에 대해 지원되지 않습니다.
제한 사항을 참조하세요.
Requirements
관리되는 Iceberg 테이블을 심층 복제하려면 다음이 필요합니다.
- Databricks Runtime 16.4 LTS 이상.
-
SELECT원본 테이블에 대한 권한입니다. - 기존 테이블을 교체하는 경우 대상 스키마에 대한
CREATE TABLE권한 또는 대상 테이블에 대한MODIFY권한. - 대상 카탈로그 또는 스키마에서 사용하도록 설정된 예측 최적화입니다.
관리형 Iceberg 테이블 딥 클론하기
관리형 Iceberg 테이블을 복사하려면 CREATE TABLE ... DEEP CLONE를 사용하세요:
CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
기존 대상 테이블을 바꾸려면 다음을 수행합니다.
CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
대상이 아직 없는 경우에만 만들려면 다음을 수행합니다.
CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
전체 CREATE TABLE CLONE 구문은 다음을 참조하세요 CREATE TABLE CLONE.
프로덕션 테이블 보관
보관 또는 규정 준수를 위해 프로덕션 테이블의 독립적인 스냅샷을 만들려면 다음을 수행합니다.
CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;
개발 환경에 테이블 복사
프로덕션 데이터에 영향을 주지 않고 안전한 실험을 위해 프로덕션 테이블을 개발 카탈로그에 복제하려면 다음을 수행합니다.
CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;
외부 Iceberg 테이블을 관리형 Iceberg로 복제
DEEP CLONE를 사용하여 외부 Iceberg 테이블을 Unity Catalog에서 관리형 Iceberg 테이블로 마이그레이션할 수 있습니다. 복제는 모든 데이터와 메타데이터를 Unity 카탈로그 스토리지에 복사합니다. 외부 카탈로그에서 관리하는 원래 파일은 다시 사용되지 않습니다.
CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;
복제가 완료되면 대상 테이블은 원본 카탈로그와 관계없이 Unity 카탈로그에서 완전히 관리되는 Iceberg 테이블입니다.
메모
외국 카탈로그에서 제로 복사 마이그레이션은 지원되지 않습니다. 제한 사항을 참조하세요.
딥 클론에서 테이블 속성 설정
문에서 DEEP CLONE Iceberg 테이블 속성을 설정할 수 없습니다. 복제된 테이블에서 속성을 추가하거나 재정의하려면 복제가 완료된 후 사용합니다 ALTER TABLE SET TBLPROPERTIES .
예를 들어 스냅샷으로 사용되는 복제본의 원본을 기록하도록 사용자 지정 속성을 설정하려면 다음을 수행합니다.
CREATE TABLE prod_catalog.archive.orders_snapshot
DEEP CLONE prod_catalog.main.orders;
ALTER TABLE prod_catalog.archive.orders_snapshot
SET TBLPROPERTIES (
'archive.source' = 'prod_catalog.main.orders',
'archive.created_date' = '2026-05-11'
);
복제 동작
심층 복제 동작에 대한 중요한 고려 사항:
- 딥 클론은 원본 테이블의 완전하고 독립적인 복사본입니다. 복제 변경 내용은 원본에 영향을 미치지 않으며 원본에 대한 변경 내용은 클론에 영향을 미치지 않습니다.
- 딥 클론에는 독립적인 스냅샷 기록이 있습니다. 클론의 시간 이동은 원본의 기록이 아니라 클론의 기록을 사용합니다.
- 스키마, 분할 정보 및 테이블 속성은 딥 클론에 복사됩니다. Unity 카탈로그 태그는 복사되지 않습니다.
- Unity 카탈로그는 만든 후 예측 최적화를 사용하여 복제를 독립적으로 관리합니다.
제한 사항
- 단순 복제는 관리되는 Iceberg 테이블에 지원되지 않습니다.
- Unity 카탈로그는 외부 Iceberg 테이블을 관리형 Iceberg 테이블로 제로 카피 변환하는 기능을 지원하지 않습니다.
DEEP CLONE을 사용해야 합니다. 복제 작업 중에 모든 데이터가 Unity Catalog 스토리지에 복사됩니다. - 딥 클론은 시간 이동 쿼리에 영향을 미치는 테이블 기록을 복사하지 않습니다.
- 복제하는 동안에는 테이블 형식을 변경할 수 없습니다. 대상은 항상 관리되는 Iceberg 테이블입니다.
- 복제하는 동안에는 테이블 속성을 설정할 수 없습니다. 딥 클론이 완료된 후에 사용합니다
ALTER TABLE SET TBLPROPERTIES. 딥 클론에서 테이블 속성 설정을 참조하세요.