Proprietà tabella e opzioni di tabella
Si applica a: Databricks SQL Databricks Runtime
Definisce i tag definiti dall'utente per tabelle e viste.
-
Una proprietà di tabella è una coppia chiave-valore che è possibile inizializzare quando si esegue un'istruzione CREATE TABLE o CREATE VIEW. È possibile utilizzare ALTER TABLE o ALTER VIEW per le proprietà di tabella nuove o ESISTENTI o UNSET esistenti.
È possibile usare le proprietà della tabella per contrassegnare le tabelle con informazioni non rilevate da SQL.
-
Lo scopo delle opzioni di tabella è passare le proprietà di archiviazione all'archiviazione sottostante, ad esempio le proprietà SERDE a Hive.
Un'opzione di tabella è una coppia chiave-valore che è possibile inizializzare quando si esegue un'istruzione CREATE TABLE. Non è possibile
SET
oUNSET
un'opzione di tabella.
TBLPROPERTIES
Imposta una o più proprietà della tabella in una nuova tabella o vista.
È possibile usare le proprietà della tabella per contrassegnare le tabelle con informazioni non rilevate da SQL.
Sintassi
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametri
property_key
Chiave della proprietà. La chiave può essere costituita da uno o più identificatori separati da un punto o da un valore letterale stringa.
Le chiavi delle proprietà devono essere univoche e fanno distinzione tra maiuscole e minuscole.
property_val
Il valore per la proprietà. Il valore deve essere un
BOOLEAN
valore letterale ,STRING
INTEGER
, oDECIMAL
.
Esempi
-- 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
Impostare le proprietà della tabella
Imposta una o più proprietà della tabella in una tabella o vista esistente.
Sintassi
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametri
property_key
Chiave della proprietà. La chiave può essere costituita da uno o più identificatori separati da un punto o da un valore letterale stringa.
Le chiavi delle proprietà devono essere univoche e fanno distinzione tra maiuscole e minuscole.
property_val
Nuovo valore per la proprietà. Il valore deve essere un
BOOLEAN
valore letterale ,STRING
INTEGER
, oDECIMAL
.
Esempi
-- 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
Annullare le proprietà della tabella
Rimuove una o più proprietà della tabella da una tabella o da una vista.
Sintassi
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametri
IF EXISTS
Clausola facoltativa che indica a Databricks SQL di non generare un errore se una delle chiavi di proprietà non esiste.
property_key
Chiave della proprietà da rimuovere. La chiave può essere costituita da uno o più identificatori separati da un punto o da un valore letterale stringa.
Le chiavi delle proprietà fanno distinzione tra maiuscole e minuscole. Se
property_key
non esiste e viene generato l'errore, a meno che nonIF EXISTS
sia stato specificato.
Esempi
-- 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
OPTIONS
Imposta una o più opzioni di tabella in una nuova tabella.
Lo scopo delle opzioni di tabella è passare le proprietà di archiviazione all'archiviazione sottostante, ad esempio le proprietà SERDE a Hive.
Se si specificano le opzioni di tabella per le tabelle Delta Lake, queste opzioni verranno restituite anche come proprietà della tabella.
Sintassi
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametri
property_key
Chiave della proprietà. La chiave può essere costituita da uno o più identificatori separati da un punto o da un valore letterale stringa.
Le chiavi delle proprietà devono essere univoche e fanno distinzione tra maiuscole e minuscole.
property_val
Il valore per la proprietà. Il valore deve essere un
BOOLEAN
valore letterale ,STRING
INTEGER
, oDECIMAL
.In Databricks SQL e Databricks Runtime 13.3 LTS e versioni successive
property_val
possono essere un'espressione costante.
Esempi
-- 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
Chiavi delle proprietà della tabella riservate
Azure Databricks riserva alcune chiavi di proprietà per il proprio uso e genera un errore se si tenta di usarle:
external
Usare CREATE EXTERNAL TABLE per creare una tabella esterna.
location
Utilizzare le
LOCATION
clausole ALTER TABLE e CREATE TABLE per impostare una posizione della tabella.owner
Utilizzare la clausola ALTER TABLE e ALTER VIEW per trasferire la
[SET] OWNER TO
proprietà di una tabella o vista. SET è consentito come parola chiave facoltativa in Databricks SQL.provider
Usare la
USING
clausola CREATE TABLE per impostare l'origine dati di una tabella
Non è consigliabile usare chiavi di proprietà a partire dall'identificatore option
.
Questo identificatore di prefisso verrà filtrato in SHOW TBLPROPERTIES.
Il option
prefisso viene usato anche per visualizzare le opzioni della tabella.
Tasti TBLPROPERTIES e OPTIONS comuni
Le impostazioni seguenti vengono comunemente usate con Delta Lake:
delta.appendOnly
: impostare su pertrue
disabilitareUPDATE
eDELETE
le operazioni.delta.dataSkippingNumIndexedCols
: impostare sul numero di colonne iniziali per cui raccogliere e prendere in considerazione le statistiche.delta.deletedFileRetentionDuration
: impostare su un intervallo,'interval 7 days'
ad esempio per controllare quandoVACUUM
è consentito eliminare i file.delta.logRetentionDuration
: impostare su un intervallo,'interval 60 days'
ad esempio per controllare la durata della cronologia per le query di spostamento temporale.