Compartilhar via


CREATE TABLE CLONE

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Clona uma tabela Delta de origem para um destino em uma versão específica. Um clone pode ser detalhado ou superficial: os clones detalhados copiam os dados dos clones de origem e os superficiais não. Você também pode clonar tabelas Parquet e iceberg de origem. Consulte Clonar incrementalmente tabelas Parquet e 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 Unity Catalog. No Databricks Runtime 12.2 LTS e versões anteriores, não há suporte para clones superficiais no Unity Catalog. Confira Clone superficial para 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

  • IF NOT EXISTS

    Se especificado, a instrução será ignorada se table_name já existir.

  • [CREATE OR] REPLACE

    Se CREATE OR for especificado, a tabela será substituída se ela existir e criada recentemente, caso contrário. Sem CREATE OR, o table_name precisa existir.

  • table_name

    O nome da tabela do Delta Lake a ser criada. O nome não deve incluir uma especificação temporal ou especificação de opções. Se o nome não for qualificado, a tabela será criada no esquema atual. table_name não deve existir, a menos que REPLACE ou IF NOT EXISTS tenha 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 se referirá aos arquivos da tabela de origem. Quando você especificar DEEP CLONE (padrão), o Azure Databricks fará uma cópia completa e independente da tabela de origem.

  • source_table_name

    O nome da tabela do Delta Lake a ser clonada. O nome pode incluir uma especificação temporal ou especificação de opções.

  • TBLPROPERTIES

    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 o próprio table_name for um caminho em vez de um identificador de tabela, a operação falhará. path deve ser uma literal STRING.

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.