Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks SQL
Databricks Runtime
Клонирует источник Delta, управляемую таблицу Apache Iceberg или Apache Parquet в целевое расположение в определенной версии. Клонирование может быть глубоким или мелким: глубокие клоны копируют данные, а неглубокие клоны, не копируя их, ссылаются на исходные данные.
- Таблицы Delta, Parquet и Foreign Iceberg поддерживают глубокое и мелкое клонирование.
- Управляемые таблицы Iceberg поддерживают только глубокую клонирование, и вы не можете изменить формат таблицы во время клонирования.
Для получения дополнительной информации см. Инкрементное клонирование таблиц Parquet и Apache Iceberg в Delta Lake.
В Databricks SQL и Databricks Runtime 13.3 LTS и более поздних версиях можно использовать неглубокое клонирование с управляемыми таблицами каталога Unity. В Databricks Runtime 12.2 LTS и ниже отсутствует поддержка мелких клонов в каталоге Unity. См. мелкий клон для таблиц каталога Unity.
Внимание
Существуют важные различия между поверхностными и глубокими клонами, которые могут определить, как лучше их использовать. См. клонирование таблицы в Azure Databricks.
Note
Потоковая передача таблиц и материализованных представлений не поддерживается в качестве исходных или целевых таблиц.CLONE См. ограничения потоковой таблицы и материализованные ограничения представления.
Синтаксис
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]
Параметры
ЕСЛИ НЕ СУЩЕСТВУЕТ
Если этот параметр указан, инструкция игнорируется, если
table_nameуже существует.[СОЗДАТЬ ИЛИ] ЗАМЕНИТЬ
Если указано
CREATE OR, таблица заменяется, если она существует, и создаётся заново, если не существует. БезCREATE ORэлементtable_nameдолжен существовать.-
Имя создаваемой таблицы. Имя не должно включать указания на время или спецификации параметров. Если имя не задано, таблица создается в текущей схеме.
table_nameне должен уже существовать, если не указанREPLACEилиIF NOT EXISTS. SHALLOW CLONE или DEEP CLONE
Если вы укажете
SHALLOW CLONE, Azure Databricks создадут копию определения исходной таблицы, но будут ссылаться на файлы исходной таблицы. При указанииDEEP CLONE(по умолчанию) Azure Databricks сделает полную независимую копию исходной таблицы.Управляемые таблицы Айсберга поддерживают только глубокое клонирование, а не поверхностное клонирование.
-
Имя таблицы, которую нужно клонировать. Имя может включать темпоральную спецификацию или спецификацию параметров.
-
При необходимости задает одно или несколько определяемых пользователем свойств.
Путь к LOCATION
При необходимости создает внешнюю таблицу с указанным расположением в качестве пути, в котором хранятся данные. Если
table_nameявляется путём вместо того чтобы быть идентификатором таблицы, операция не будет успешной.pathдолжен быть СТРОКОВЫМ литералом.
Примеры
Глубокая клонирование и неглубокая клонирование таблицы Delta Lake:
-- Deep clone: copies data and metadata
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
-- Shallow clone: copies metadata only, references source data files
CREATE TABLE target_catalog.target_schema.target_table
SHALLOW CLONE source_catalog.source_schema.source_table;
Глубокая клонирование управляемой таблицы Iceberg (поддерживается только глубокая клонирование):
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
Дополнительные примеры клона Delta Lake, включая архивацию данных и рабочие процессы машинного обучения, см. в разделе "Клонирование таблицы" в Azure Databricks. Дополнительные управляемые примеры клона Айсберга см. в статье Клонирование управляемой таблицы Айсберга.
Limitations
- В каталоге Unity нельзя использовать
CREATE OR REPLACEдля перезаписи существующего неглубокого клона. ИспользуйтеDROP TABLE, затемCREATE TABLE, или используйте новое имя таблицы. См. Ограничения.