Propiedades y opciones de tabla
Se aplica a: Databricks SQL Databricks Runtime
Define las etiquetas definidas por el usuario para tablas y vistas.
-
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.
-
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
niUNSET
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
oDECIMAL
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
oDECIMAL
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 especificadoIF 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
oDECIMAL
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 entrue
para deshabilitar las operacionesUPDATE
yDELETE
.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 aVACUUM
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.