Table proprietà e opzioni di table
Si applica a: Databricks SQL Databricks Runtime
Definisce i tag definiti dall'utente per tables e views.
-
Una proprietà table è una coppia chiave-valore che è possibile inizializzare quando si esegue un CREATE TABLE o un CREATE VIEW. È possibile proprietà UNSET esistenti o SET nuove o esistenti table usando ALTER TABLE o ALTER VIEW.
È possibile usare table proprietà per contrassegnare tables con informazioni non rilevate da SQL.
-
Lo scopo delle opzioni di table è passare le proprietà di archiviazione all'archiviazione sottostante, ad esempio le proprietà SERDE a Hive.
Un'opzione table è una coppia chiave-valore che è possibile inizializzare quando si esegue un CREATE TABLE. Non è possibile
SET
oUNSET
un'opzione di table.
TBLPROPERTIES
Imposta una o più proprietà table in una nuova table o visualizzazione.
È possibile usare table proprietà per contrassegnare tables con informazioni non rilevate da SQL.
Sintassi
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
SET TBLPROPERTIES
Imposta una o più proprietà table in un table o in una vista esistente.
Sintassi
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
Annullare le proprietà della tabella
Rimuove una o più proprietà table da un table oppure da una vista.
Sintassi
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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à di remove. 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;
key value
-------------------------------- -----
... keys other that key and key2 ...
OPTIONS
Imposta una o più opzioni di table in un nuovo table.
Lo scopo delle opzioni di table è passare le proprietà di archiviazione all'archiviazione sottostante, ad esempio le proprietà SERDE a Hive.
Specificando anche le opzioni table per Delta Lake tables, queste opzioni verranno restituite come proprietà di table.
Sintassi
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
option.this.is.my.key bluegreen
...
Chiavi delle proprietà table 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 un tableesterno.
location
Utilizzare le clausole
LOCATION
di ALTER TABLE e CREATE TABLE per set una posizione di table.owner
Utilizzare la clausola
[SET] OWNER TO
di ALTER TABLE e ALTER VIEW per trasferire la proprietà di un table o di una vista. SET è consentita come parola chiave facoltativa in Databricks SQL.provider
Utilizzare la clausola
USING
di CREATE TABLE per set 'origine dati di un table
Non è consigliabile usare le chiavi delle proprietà a partire dal option
identifier.
Questo prefisso identifier verrà filtrato in SHOW TBLPROPERTIES.
Il prefisso option
viene usato anche per visualizzare table opzioni.
Tasti TBLPROPERTIES e OPTIONS comuni
Le impostazioni seguenti vengono comunemente usate con Delta Lake:
-
delta.appendOnly
: Set pertrue
per disabilitare le operazioni diUPDATE
eDELETE
. -
delta.dataSkippingNumIndexedCols
: Set fino al numero iniziale di column per cui raccogliere e considerare le statistiche. -
delta.deletedFileRetentionDuration
: Set a un intervallo, ad esempio'interval 7 days'
per controllare quandoVACUUM
è autorizzato a eliminare i file. -
delta.logRetentionDuration
: Set in un intervallo, ad esempio'interval 60 days'
, per controllare per quanto tempo la cronologia viene conservata per le query di viaggio nel tempo.