Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Databricks SQL
Databricks Runtime
Clona uma tabela de origem Delta, gerida pelo Apache Iceberg ou Apache Parquet, para um local de destino numa versão específica. A clonagem pode ser profunda ou superficial: clones profundos copiam os dados, enquanto clones superficiais fazem referência aos dados de origem sem copiá-los.
- As tabelas Delta, Parquet e Iceberg Estrangeiro suportam clonagem profunda e superficial.
- As tabelas Iceberg gerenciadas suportam apenas clonagem profunda e você não pode alterar o formato da tabela durante a clonagem.
Para obter mais informações, consulte Clonar incrementalmente tabelas Parquet e Apache Iceberg para Delta Lake.
No Databricks SQL e no Databricks Runtime 13.3 LTS ou superior, pode-se usar clones superficiais com tabelas geridas pelo Unity Catalog. No Databricks Runtime 12.2 LTS e inferior, não há suporte para clones superficiais no Unity Catalog. Consulte clonagem superficial para tabelas do Unity Catalog.
Importante
Existem diferenças importantes entre clones superficiais e profundos que podem determinar a melhor forma de usá-los. Ver 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 existir e recém-criada se não existir. SemCREATE OR, deve existir otable_name.-
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 estiver qualificado, a tabela será criada no esquema atual.
table_namenão deve existir já, a menos queREPLACEouIF NOT EXISTStenha sido especificado. CLONE SUPERFICIAL ou CLONE PROFUNDO
Se você especificar
SHALLOW CLONEo Azure Databricks, fará uma cópia da definição da tabela de origem, mas fará referência aos 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 suportam apenas 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 de LOCALIZAÇÃO
Opcionalmente, cria uma tabela externa, com o local fornecido como o caminho onde os dados são armazenados. Se
table_nameem si for um caminho em vez de um identificador de tabela, a operação falhará.pathdeve ser um literal cadeia de caracteres.
Exemplos
Você pode usar CREATE TABLE CLONE para operações complexas, como migração de dados, arquivamento de dados, reprodução de fluxo de aprendizado de máquina, experimentos de curto prazo e compartilhamento de dados. Ver Clonar uma tabela no Azure Databricks.