Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode criar uma cópia completa e independente de uma tabela gerenciada que usa o Iceberg com DEEP CLONE. Um clone profundo copia tanto os arquivos de dados quanto os metadados da tabela para uma nova tabela gerenciada usando o Iceberg no Unity Catalog.
Tabelas gerenciadas usando Iceberg suportam apenas clonagem profunda. Não há suporte para clonagem superficial e conversão de formato durante a clonagem.
Métodos de clonagem para tabelas Iceberg
A operação de clone usada depende dos tipos de tabela de origem e de destino:
| Source | Target | Operation |
|---|---|---|
| Tabela gerenciada usando Iceberg | Tabela gerenciada usando Iceberg |
DEEP CLONE. |
| Iceberg Estrangeiro | Tabela gerenciada usando Iceberg |
DEEP CLONE. Veja Como clonar uma tabela Iceberg externa para uma tabela gerenciada usando o Iceberg. |
| Parquet ou iceberg estrangeiro | Delta Lake gerenciado ou externo | Clone incremental. Consulte Clonar incrementalmente as tabelas Parquet e Apache Iceberg no Delta Lake. |
Para criar uma tabela gerenciada usando o Iceberg a partir dos resultados de consulta, em vez de clonar uma tabela existente, use CREATE TABLE ... AS SELECT. Consulte CREATE TABLE [USING].
SHALLOW CLONE não há suporte para tabelas Iceberg. Confira Limitações.
Requirements
Para clonar profundamente uma tabela gerenciada usando o Iceberg, você precisa:
- Databricks Runtime 16.4 LTS ou superior.
- Privilégios de
SELECTna tabela de origem. - Se for substituir uma tabela existente, privilégios
CREATE TABLEsobre o esquema de destino ou privilégiosMODIFYsobre a tabela de destino. - Otimização preditiva habilitada no catálogo ou esquema de destino.
Fazer um clone completo de uma tabela gerenciada com o Iceberg
Use CREATE TABLE ... DEEP CLONE para copiar uma tabela gerenciada usando o Iceberg:
CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para substituir uma tabela de destino existente:
CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para criar o destino apenas se ele ainda não existir:
CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Para sintaxe completa CREATE TABLE CLONE , consulte CREATE TABLE CLONE.
Arquivar uma tabela de produção
Para criar um instantâneo independente de uma tabela de produção para fins de arquivamento ou conformidade:
CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;
Copiar uma tabela para um ambiente de desenvolvimento
Para clonar uma tabela de produção em um catálogo de desenvolvimento para experimentação segura sem afetar os dados de produção:
CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;
Clonar uma tabela Iceberg estrangeira para uma tabela gerenciada usando o Iceberg
Você pode usar DEEP CLONE para migrar uma tabela Iceberg estrangeira para o Unity Catalog como uma tabela gerenciada usando o Iceberg. A clonagem copia todos os dados e metadados para o armazenamento do Unity Catalog. Os arquivos originais gerenciados pelo catálogo externo não são reutilizados.
CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;
Após a conclusão do clone, a tabela alvo é totalmente gerenciada usando o Iceberg no Unity Catalog, independente do catálogo fonte.
Observação
Não há suporte para a migração de cópia zero de um catálogo estrangeiro. Confira Limitações.
Definir propriedades da tabela em um clone profundo
Você não pode definir as propriedades da tabela Iceberg na instrução DEEP CLONE . Para adicionar ou sobrescrever propriedades na tabela clonada, use ALTER TABLE SET TBLPROPERTIES após a conclusão da clonagem.
Por exemplo, para definir propriedades personalizadas para registrar a origem de um clone usado como um instantâneo:
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'
);
Comportamento de clonagem
Considerações importantes sobre o comportamento da clonagem profunda:
- Um clone profundo é uma cópia completa e independente da tabela de origem. As alterações no clone não afetam a fonte, e as alterações na fonte não afetam o clone.
- Um clone profundo tem um histórico de instantâneos independente. A viagem no tempo no clone usa o histórico do clone, não o histórico da fonte.
- O esquema, as informações de particionamento e as propriedades da tabela são copiados para o clone profundo. As tags do Unity Catalog não são copiadas.
- Após a criação, o Unity Catalog gerencia o clone de forma independente usando otimização preditiva.
Limitações
- Clonagem superficial não é suportada para tabelas gerenciadas usando Iceberg.
- O Unity Catalog não suporta conversão zero-copy de tabelas Iceberg estrangeiras para tabelas gerenciadas usando Iceberg. Você deve usar
DEEP CLONE. Todos os dados são copiados para o armazenamento do Unity Catalog durante a operação de clonagem. - Clones profundas não copiam o histórico de tabelas, o que afeta consultas de viagem de tempo.
- Não é possível alterar o formato da tabela durante a clonagem. O alvo é sempre uma tabela gerenciada usando Iceberg.
- Não é possível definir as propriedades da tabela durante a clonagem. Use
ALTER TABLE SET TBLPROPERTIESapós a conclusão da clonagem profunda. Confira Definir propriedades da tabela em um clone profundo.