Поделиться через


CREATE TABLE CLONE

Область применения:флажок Databricks SQL флажок Databricks Runtime

Клонирует исходную таблицу Delta в целевой объект в конкретной версии. Клон может быть как глубоким, так и поверхностным: глубокие клоны копируют данные из источника, а поверхностные — нет. Вы также можете клонировать исходные таблицы Parquet и Iceberg. См. , как пошагово клонировать таблицы Parquet и Iceberg в Delta Lake.

В Databricks SQL и Databricks Runtime 13.3 LTS и более поздних версиях можно использовать неглубокое клонирование с управляемыми таблицами каталога Unity. В Databricks Runtime 12.2 LTS и ниже отсутствует поддержка мелких клонов в каталоге Unity. См. мелкий клон для таблиц каталога Unity.

Внимание

Существуют важные различия между поверхностными и глубокими клонами, которые могут определить, как лучше их использовать. См. клонирование таблицы в 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. Имя не должно включать темпоральную спецификацию или спецификацию параметров. Если имя не задано, таблица создается в текущей схеме. Таблица table_name не должна существовать, если не указан параметр REPLACE или IF NOT EXISTS.

  • SHALLOW CLONE или DEEP CLONE

    Если указать SHALLOW CLONE, Azure Databricks создаст копию определения исходной таблицы, при этом будет использовать файлы исходной таблицы. При указании DEEP CLONE (по умолчанию) Azure Databricks сделает полную независимую копию исходной таблицы.

  • source_table_name

    Имя таблицы Delta Lake, подлежащей клонированию. Имя может включать темпоральную спецификацию или спецификацию параметров.

  • TBLPROPERTIES

    При необходимости задает одно или несколько определяемых пользователем свойств.

  • LOCATION path

    При необходимости создает внешнюю таблицу с указанным расположением в качестве пути, в котором хранятся данные. Если table_name является путём вместо идентификатора таблицы, операция приведет к ошибке. path должен быть СТРОКОВЫМ литералом.

Примеры

Для сложных операций, CREATE TABLE CLONE таких как миграция данных, архивация данных, воспроизведение потоков машинного обучения, краткосрочные эксперименты и общий доступ к данным. См. клонирование таблицы в Azure Databricks.