Compartir a través de


CREATE TABLE CLONE

Se aplica a:comprobar sí marcado Databricks SQL comprobar sí marcado Databricks Runtime

Clona tablas origen Delta, Apache Iceberg administradas o Apache Parquet a una ubicación de destino en una versión específica. La clonación puede ser profunda o superficial: los clones profundos copian los datos, mientras que los clones poco profundos hacen referencia a los datos de origen sin copiarlos.

  • Las tablas Delta, Parquet y Foreign Iceberg admiten la clonación profunda y superficial.
  • Las tablas administradas de Iceberg solo admiten la clonación profunda, y no se puede cambiar el formato de tabla durante la clonación.

Para obtener más información, véase Clonación incremental de tablas Parquet y Apache Iceberg en Delta Lake.

En Databricks SQL y Databricks Runtime 13.3 LTS y versiones posteriores, puede usar un clon superficial con tablas administradas por Unity Catalog. En Databricks Runtime 12.2 LTS y versiones posteriores, no hay compatibilidad con clones superficiales en Unity Catalog. Consulte Clonación superficial para las tablas de Unity Catalog.

Importante

Existen diferencias notables entre los clones profundos y los superficiales, lo que puede determinar la manera más adecuada de usarlos. Consulte Clonación de una tabla en Azure Databricks.

Sintaxis

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

  • SI NO EXISTE

    En caso de que esté especificado, se omite la instrucción si ya existe table_name.

  • [CREATE OR] REPLACE

    Cuando se especifica CREATE OR, la tabla se reemplaza, si existe y, si no, se crea de nuevo. Sin CREATE OR, debe existir table_name.

  • table_name

    Nombre de la tabla que se va a crear. El nombre no debe incluir una especificación temporal ni una especificación de opciones . Si el nombre no está completo, la tabla se crea en el esquema actual. Ya no debería existir table_name, a no ser que se hayan especificado REPLACE o IF NOT EXISTS.

  • CLONACIÓN SUPERFICIAL o CLONACIÓN PROFUNDA

    Si especifica SHALLOW CLONE Azure Databricks realizará una copia de la definición de la tabla de origen, pero hará referencia a los archivos de la tabla de origen. Al especificarse DEEP CLONE (valor predeterminado), Azure Databricks hará una copia completa e independiente de la tabla de origen.

    Las tablas Iceberg administradas solo admiten la clonación profunda, no la clonación superficial.

  • source_table_name

    Nombre de la tabla que se va a clonar. El nombre puede incluir una especificación temporal o una especificación de opciones .

  • TBLPROPERTIES

    Este parámetro opcional le permite establecer una o varias propiedades definidas por el usuario.

  • RUTA DE UBICACIÓN

    Crea, de forma opcional, una tabla externa, con la localización proporcionada como ruta de acceso, en la que se almacenan los datos. Si table_name es una ruta de acceso en lugar de un identificador de tabla, se producirá un error en la operación. path debe ser un literal de CADENA.

Ejemplos

Puedes usar CREATE TABLE CLONE para operaciones complejas como migración de datos, archivo de datos, reproducción de flujo de aprendizaje automático, experimentos a corto plazo y uso compartido de datos. Consulte Clonación de una tabla en Azure Databricks.