관리형 Iceberg 테이블 복제

를 사용하여 관리되는 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 . 딥 클론에서 테이블 속성 설정을 참조하세요.