Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете создать полную, независимую копию управляемой таблицы, использующую Iceberg с DEEP CLONE. Глубокий клон копирует как файлы данных, так и метаданные таблицы в новую управляемую таблицу с помощью Iceberg в Unity Catalog.
Управляемые таблицы с помощью Iceberg поддерживают только глубокое клонирование. Не поддерживается мелкое клонирование и преобразование форматирования во время клонирования.
Методы клонирования для таблиц Айсберга
Используемая операция клонирования зависит от типов исходной и целевой таблиц:
| Source | Цель | Операция |
|---|---|---|
| Управляемая таблица с использованием Iceberg | Управляемая таблица с использованием Iceberg |
DEEP CLONE. |
| Чужеземный Айсберг | Управляемая таблица с использованием Iceberg |
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 Catalog, независимо от исходного каталога.
Замечание
Миграция без копирования из внешнего каталога не поддерживается. См. Ограничения.
Установить свойства таблицы для глубокой копии
Нельзя задать свойства таблицы Айсберга в инструкции 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после завершения глубокого копирования. См. Установка свойств таблицы для глубокой копии.