Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете создать полную, независимую копию управляемой таблицы Айсберга с помощью DEEP CLONE. Глубокий клон копирует файлы данных и метаданные таблицы в новую управляемую таблицу Iceberg в каталоге Unity.
Управляемые таблицы Iceberg поддерживают только глубокое клонирование. Не поддерживается мелкое клонирование и преобразование форматирования во время клонирования.
Методы клонирования для таблиц Айсберга
Используемая операция клонирования зависит от типов исходной и целевой таблиц:
| Source | Цель | Операция |
|---|---|---|
| Управляемый Айсберг | Управляемый Айсберг |
DEEP CLONE. |
| Чужеземный Айсберг | Управляемый Айсберг |
DEEP CLONE. См. Клонирование сторонней таблицы Iceberg в управляемую таблицу Iceberg. |
| Parquet или зарубежный Айсберг | Управляемое или внешнее Delta Lake | Инкрементное клонирование. См. инкрементное клонирование таблиц Parquet и Apache Iceberg в Delta Lake. |
Чтобы создать управляемую таблицу Iceberg из результатов запроса вместо клонирования существующей таблицы, используйте .CREATE TABLE ... AS SELECT См. CREATE TABLE [ИСПОЛЬЗОВАНИЕ].
SHALLOW CLONE не поддерживается для таблиц Айсберга. См. Ограничения.
Requirements
Чтобы создать глубокий клон управляемой таблицы Iceberg, вам потребуется:
- Databricks Runtime 16.4 LTS или более поздней версии.
-
SELECTпривилегии в исходной таблице. - При замене существующей таблицы требуются привилегии
CREATE TABLEна целевую схему или привилегииMODIFYна целевую таблицу. - Прогнозная оптимизация включена в целевом каталоге или схеме.
Глубокое клонирование управляемой таблицы Iceberg
Используйте CREATE TABLE ... DEEP CLONE, чтобы скопировать управляемую таблицу Iceberg:
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>;
После завершения клона целевая таблица является полностью управляемой таблицей Iceberg в каталоге Unity, независимо от исходного каталога.
Замечание
Миграция без копирования из внешнего каталога не поддерживается. См. Ограничения.
Установить свойства таблицы для глубокой копии
Нельзя задать свойства таблицы Айсберга в инструкции DEEP CLONE . Чтобы добавить или переопределить свойства в клонированную таблицу, используйте 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 Catalog не поддерживает преобразование без копирования данных сторонних таблиц Iceberg в управляемые таблицы Iceberg. Необходимо использовать
DEEP CLONE. Все данные копируются в хранилище каталога Unity во время операции клонирования. - Глубокие клоны не копируют историю таблицы, что влияет на запросы с перемещением во времени.
- Невозможно изменить формат таблицы во время клонирования. Целевым объектом всегда является управляемая таблица Iceberg.
- Нельзя задать свойства таблицы во время клонирования. Используйте
ALTER TABLE SET TBLPROPERTIESпосле завершения глубокого копирования. См. Установка свойств таблицы для глубокой копии.