Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puedes crear una copia completa e independiente de una tabla gestionada que utilice Iceberg con DEEP CLONE. Un clon profundo copia tanto los archivos de datos como los metadatos de la tabla a una nueva tabla gestionada usando Iceberg en Unity Catalog.
Las tablas gestionadas que usan Iceberg solo soportan clonación profunda. No se admite la clonación superficial ni la conversión de formato durante la clonación.
Métodos de clonación para tablas Iceberg
La operación de clonación que use depende de los tipos de tabla de origen y de destino:
| Source | Objetivo | Operation |
|---|---|---|
| Tabla gestionada usando Iceberg | Tabla gestionada usando Iceberg |
DEEP CLONE. |
| Iceberg externo | Tabla gestionada usando Iceberg |
DEEP CLONE. Véase Clonar una tabla externa de Iceberg a una tabla gestionada con Iceberg. |
| Parquet o Iceberg externa | Delta Lake administrado o externo | Clon incremental. Consulte Clonar incrementalmente tablas de Parquet y Apache Iceberg a Delta Lake. |
Para crear una tabla gestionada usando Iceberg a partir de los resultados de consultas, en lugar de clonar una tabla existente, utilice CREATE TABLE ... AS SELECT. Consulte CREATE TABLE [USING].
SHALLOW CLONE no es compatible con las tablas Iceberg. Consulte Limitaciones.
Requirements
Para clonar profundamente una tabla gestionada usando Iceberg, necesitas:
- Databricks Runtime 16.4 LTS o superior.
- Privilegios de
SELECTen la tabla de origen. - Si va a reemplazar una tabla existente, se necesitan privilegios
CREATE TABLEsobre el esquema de destino o privilegiosMODIFYsobre la tabla de destino. - Optimización predictiva habilitada en el catálogo o esquema de destino.
Clona profundamente una tabla gestionada usando Iceberg
Úsalo CREATE TABLE ... DEEP CLONE para copiar una tabla gestionada usando Iceberg:
CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para reemplazar una tabla de destino existente:
CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para crear el destino solo si aún no existe:
CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para obtener una sintaxis completa CREATE TABLE CLONE , vea CREATE TABLE CLONE.
Archivar una tabla de producción
Para crear una instantánea independiente de una tabla de producción con fines de archivado o cumplimiento:
CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;
Copiar una tabla en un entorno de desarrollo
Para clonar una tabla de producción en un catálogo de desarrollo para experimentación segura sin afectar a los datos de producción:
CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;
Clona una tabla Iceberg extranjera a una tabla gestionada usando Iceberg
Puedes usar DEEP CLONE para migrar una tabla Iceberg extranjera a Unity Catalog como una tabla gestionada usando Iceberg. El clon copia todos los datos y metadatos en el almacenamiento del catálogo de Unity. Los archivos originales administrados por el catálogo externo no se reutilizan.
CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;
Una vez completado el clon, la tabla destino es una tabla completamente gestionada usando Iceberg en Unity Catalog, independiente del catálogo fuente.
Nota:
No se admite la migración de copia cero desde un catálogo externo. Consulte Limitaciones.
Establecer propiedades de tabla en un clon profundo
No se pueden establecer propiedades de tabla de Iceberg en la instrucción DEEP CLONE. Para agregar o invalidar propiedades en la tabla clonada, use ALTER TABLE SET TBLPROPERTIES una vez completado el clon.
Por ejemplo, para establecer propiedades personalizadas para registrar el origen de un clon utilizado como instantánea:
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'
);
Comportamiento del clon
Consideraciones importantes sobre el comportamiento de la clonación profunda:
- Un clon profundo es una copia completa e independiente de la tabla de origen. Los cambios en el clon no afectan al origen y los cambios en el origen no afectan al clon.
- Un clon profundo tiene un historial de instantáneas independiente. El viaje temporal en un clon usa el historial del clon, no el de la fuente.
- El esquema, la información de creación de particiones y las propiedades de tabla se copian en el clon profundo. Las etiquetas del catálogo de Unity no se copian.
- Después de su creación, Unity Catalog gestiona el clon de forma independiente con optimización predictiva.
Limitaciones
- La clonación superficial no está soportada para tablas gestionadas usando Iceberg.
- Unity Catalog no soporta la conversión de copia cero de tablas Iceberg extranjeras a tablas gestionadas usando Iceberg. Debe usar
DEEP CLONE. Todos los datos se copian en el almacenamiento del catálogo de Unity durante la operación de clonación. - Los clones profundos no copian el historial de la tabla, lo que afecta a las consultas de viaje en el tiempo.
- No se puede cambiar el formato de tabla durante la clonación. El objetivo siempre es una tabla gestionada usando Iceberg.
- No se pueden establecer propiedades de tabla durante la clonación. Use
ALTER TABLE SET TBLPROPERTIESdespués de que se complete la clonación profunda. Consulte Establecer propiedades de tabla en un clon profundo.