다음을 통해 공유


CREATE TABLE CLONE

적용 대상: 예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

원본 Delta 테이블을 특정 버전의 대상에 복제합니다. 클론은 깊거나 얕을 수 있습니다. 깊은 클론은 원본의 데이터를 복사하고 얕은 클론은 복사하지 않습니다. 원본 Parquet 및 Iceberg 테이블을 복제할 수도 있습니다. Delta Lake에 Parquet 및 Iceberg 테이블 증분 복제를 참조하세요.

Databricks SQL 및 Databricks Runtime 13.3 LTS 이상에서는 Unity 카탈로그 관리 테이블과 함께 단순 클론을 사용할 수 있습니다. Databricks Runtime 12.2 LTS 이하에서는 Unity 카탈로그에서 단순 클론을 지원하지 않습니다. Unity 카탈로그 테이블의 단순 복제본을 참조 하세요.

Important

얕은 클론과 깊은 클론 사이에는 가장 좋은 사용 방법을 결정할 수 있는 중요한 차이점이 있습니다. Azure Databricks에서 테이블 복제를 참조하세요.

구문

CREATE TABLE [IF NOT EXISTS] table_name
   [SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]
[CREATE OR] REPLACE TABLE table_name
   [SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]

매개 변수

  • IF NOT EXISTS

    지정하면 table_name이 이미 존재하는 경우 명령문이 무시됩니다.

  • [CREATE OR] REPLACE

    CREATE OR가 지정되면 테이블이 있으면 교체되고 없으면 새로 만들어집니다. CREATE OR 없이 table_name이 있어야 합니다.

  • table_name

    만들 Delta Lake 테이블의 이름입니다. 이름에는 임시 사양 또는 옵션 사양이 포함되어서는 안됩니다. 이름이 정규화되지 않으면 테이블이 현재 스키마에 만들어집니다. REPLACE 또는 IF NOT EXISTS이 지정되지 않은 경우 table_name은 존재해서는 안 됩니다.

  • SHALLOW CLONE 또는 DEEP CLONE

    SHALLOW CLONE을 지정하면 Azure Databricks가 원본 테이블의 정의를 복사하지만 원본 테이블의 파일을 참조하세요. DEEP CLONE(기본값)을 지정하면 Azure Databricks는 원본 테이블의 완전하고 독립적인 복사본을 만듭니다.

  • source_table_name

    복제할 Delta Lake 테이블의 이름입니다. 이름에는 임시 사양 또는 옵션 지정이 포함될 수 있습니다.

  • TBLPROPERTIES

    선택적으로 하나 이상의 사용자 정의 속성을 설정합니다.

  • LOCATION path

    선택적으로 제공된 위치를 데이터가 저장되는 경로로 사용하여 외부 테이블을 만듭니다. table_name 자체가 테이블 식별자 대신 경로인 경우 작업이 실패합니다. path는 STRING 리터럴이어야 합니다.

예제

데이터 마이그레이션, 데이터 보관, 기계 학습 흐름 재현, 단기 실험 및 데이터 공유와 같은 복잡한 작업에 사용할 CREATE TABLE CLONE 수 있습니다. Azure Databricks에서 테이블 복제를 참조하세요.