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.
Aplica-se a:
SQL do Databricks
Databricks Runtime
Clona uma tabela de origem Delta, uma tabela gerenciada pelo Apache Iceberg ou Apache Parquet para um local de destino em uma versão específica. A clonagem pode ser profunda ou superficial: clones profundos copiam os dados, enquanto clones rasos fazem referência aos dados de origem sem copiá-los.
- As tabelas Delta, Parquet e Iceberg Estrangeiro dão suporte à clonagem profunda e superficial.
- As tabelas iceberg gerenciadas dão suporte apenas à clonagem profunda e você não pode alterar o formato da tabela durante a clonagem.
Para obter mais informações, consulte Clonar incrementalmente as tabelas Parquet e Apache Iceberg no Delta Lake.
No Databricks SQL e no Databricks Runtime 13.3 LTS e superior, você pode usar o clone superficial com tabelas gerenciadas do Catálogo do Unity. No Databricks Runtime 12.2 LTS e versões anteriores, não há suporte para clones superficiais no Unity Catalog. Veja Clone superficial para as tabelas do Catálogo do Unity.
Importante
Há diferenças importantes entre os clones superficial e detalhado que podem determinar a melhor maneira de usá-los. Veja Clonar uma tabela no Azure Databricks.
Sintaxe
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]
Parâmetros
SE NÃO EXISTIR
Se especificado, a instrução será ignorada se
table_namejá existir.[CRIAR OU] SUBSTITUIR
Se
CREATE ORfor especificado, a tabela será substituída se ela existir e tiver sido criada recentemente, caso contrário. SemCREATE OR, otable_nameprecisa existir.-
O nome da tabela a ser criada. O nome não deve incluir uma especificação temporal ou uma especificação de opções. Se o nome não for qualificado, a tabela será criada no esquema atual.
table_namenão deve existir, a menos queREPLACEouIF NOT EXISTStenha sido especificado. SHALLOW CLONE ou DEEP CLONE
Se você especificar
SHALLOW CLONE, o Azure Databricks fará uma cópia da definição da tabela de origem, mas referenciará os arquivos da tabela de origem. Quando você especificarDEEP CLONE(padrão), o Azure Databricks fará uma cópia completa e independente da tabela de origem.As tabelas iceberg gerenciadas só dão suporte à clonagem profunda, não à clonagem superficial.
-
O nome da tabela a ser clonada. O nome pode incluir uma especificação temporal ou uma especificação de opções.
-
Opcionalmente, define uma ou mais propriedades definidas pelo usuário.
caminho LOCATION
Opcionalmente, cria uma tabela externa, com o local fornecido como o caminho em que os dados são armazenados. Se
table_nameele próprio for um caminho em vez de um identificador de tabela, a operação falhará.pathdeve ser uma literal de cadeia de caracteres.
Exemplos
Você pode usar o CREATE TABLE CLONE para operações complexas, como migração de dados, arquivamento de dados, reprodução de fluxo de machine learning, experimentos de curto prazo, compartilhamento de dados etc. Veja Clonar uma tabela no Azure Databricks.