Propiedades y opciones de tabla

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Define las etiquetas definidas por el usuario para tablas y vistas.

  • propiedades de la tabla

    Una propiedad de tabla es un par clave-valor que se puede inicializar al realizar una operación CREATE TABLE o CREATE VIEW. Puede realizar una operación UNSET para anular las propiedades de tabla existentes o SET para establecer propiedades nuevas o anteriores usando ALTER TABLE o ALTER VIEW.

    Puede usar propiedades de tabla para etiquetar tablas con información no rastreada por SQL.

  • opciones de la tabla

    El propósito de las opciones de tabla es pasar propiedades de almacenamiento al almacenamiento subyacente, como las propiedades SERDE a Hive.

    Una opción de tabla es un par clave-valor que se puede inicializar al realizar una operación CREATE TABLE. No se puede SET ni UNSET una opción de tabla.

TBLPROPERTIES

Establece una o varias propiedades de tabla en una nueva tabla o vista.

Puede usar propiedades de tabla para etiquetar tablas con información no rastreada por SQL.

Sintaxis

TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parámetros

  • property_key

    Clave de propiedad. La clave puede constar de uno o más identificadores separados por un punto o un literal de cadena.

    Las claves de propiedad deben ser únicas y distinguen mayúsculas de minúsculas.

  • property_val

    El valor de la propiedad. El valor debe ser de tipo BOOLEAN, STRING, INTEGER o DECIMAL literal.

Ejemplos

-- Create table with user defined table properties
> CREATE TABLE T(c1 INT) TBLPROPERTIES('this.is.my.key' = 12, this.is.my.key2 = true);
> SHOW TBLPROPERTIES T;
option.serialization.format     1
this.is.my.key  12
this.is.my.key2 true
transient_lastDdlTime   1649783569

SET TBLPROPERTIES

Establece una o varias propiedades de tabla en una tabla o vista existentes.

Sintaxis

SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parámetros

  • property_key

    Clave de propiedad. La clave puede constar de uno o más identificadores separados por un punto o un literal de cadena.

    Las claves de propiedad deben ser únicas y distinguen mayúsculas de minúsculas.

  • property_val

    Nuevo valor de la propiedad. El valor debe ser de tipo BOOLEAN, STRING, INTEGER o DECIMAL literal.

Ejemplos

-- Alter the a table's table properties.
>  ALTER TABLE T SET TBLPROPERTIES(this.is.my.key = 14, 'this.is.my.key2' = false);
> SHOW TBLPROPERTIES T;
option.serialization.format     1
this.is.my.key  14
this.is.my.key2 false
transient_lastDdlTime   1649783980

UNSET TBLPROPERTIES

Quita una o varias propiedades de tabla de una tabla o vista.

Sintaxis

UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parámetros

  • IF EXISTS

    Una cláusula opcional que indica a Databricks SQL que no genere un error si alguna de las claves de propiedad no existe.

  • property_key

    La clave de propiedad que se va a quitar. La clave puede constar de uno o más identificadores separados por un punto o un literal de cadena.

    Las claves de propiedad distinguen mayúsculas de minúsculas. Si property_key no existe, se producirá un error a menos que se haya especificado IF EXISTS.

Ejemplos

-- Remove a table's table properties.
>  ALTER TABLE T UNSET TBLPROPERTIES(this.is.my.key, 'this.is.my.key2');
> SHOW TBLPROPERTIES T;
option.serialization.format     1
transient_lastDdlTime   1649784415

OPCIONES

Establece una o varias opciones de tabla en una nueva tabla.

El propósito de las opciones de tabla es pasar propiedades de almacenamiento al almacenamiento subyacente, como las propiedades SERDE a Hive.

La especificación de opciones de tabla para las tablas de Delta Lake también devolverá estas opciones como propiedades de tabla.

Sintaxis

OPTIONS ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parámetros

  • property_key

    Clave de propiedad. La clave puede constar de uno o más identificadores separados por un punto o un literal de cadena.

    Las claves de propiedad deben ser únicas y distinguen mayúsculas de minúsculas.

  • property_val

    El valor de la propiedad. El valor debe ser de tipo BOOLEAN, STRING, INTEGER o DECIMAL literal.

    En Databricks SQL y Databricks Runtime 13.3 LTS y versiones posteriores, property_val puede ser una expresión constante.

Ejemplos

-- Create table with user defined table option
-- The options appears with an `option.` prefix.
> CREATE TABLE T(c1 INT) OPTIONS(this.is.my.key = 'blue' || 'green');
> SHOW TBLPROPERTIES T;
option.this.is.my.key bluegreen
option.serialization.format     2

Claves de propiedad de tabla reservadas

Azure Databricks reserva algunas claves de propiedad para su propio uso y genera un error si intenta usarlas:

  • external

    Use CREATE EXTERNAL TABLE para crear una tabla externa.

  • location

    Use las cláusulas LOCATION de ALTER TABLE y CREATE TABLE para establecer una ubicación de tabla.

  • owner

    Use la cláusula [SET] OWNER TO de ALTER TABLE y ALTER VIEW para transferir la propiedad de una tabla o vista. SET se permite como una palabra clave opcional en Databricks SQL.

  • provider

    Use la cláusula USING de CREATE TABLE para establecer el origen de datos de una tabla.

No debe usar claves de propiedad que empiecen por el identificador option. Este identificador de prefijo se filtrará en SHOW TBLPROPERTIES. El prefijo option también se usa para mostrar las opciones de tabla.

Claves TBLPROPERTIES y OPTIONS comunes

Las siguientes opciones de configuración se usan normalmente con Delta Lake:

  • delta.appendOnly: se establece en true para deshabilitar las operaciones UPDATE y DELETE.
  • delta.dataSkippingNumIndexedCols: se establece en el número de columnas iniciales para las que se van a recopilar y tener en cuenta las estadísticas.
  • delta.deletedFileRetentionDuration: se establece en un intervalo como 'interval 7 days' para controlar cuándo se permite a VACUUM eliminar archivos.
  • delta.logRetentionDuration: se establece en un intervalo como 'interval 60 days' para controlar cuánto tiempo se mantiene el historial de las consultas de viaje en el tiempo.