Table proprietà e table opzioni
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 puoi inizializzare quando esegui un CREATE TABLE o un CREATE VIEW. È possibile UNSET proprietà 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.
-
L'obiettivo delle opzioni table è passare le proprietà di archiviazione al sistema di archiviazione sottostante, ad esempio le proprietà SERDE a Hive.
Un'opzione table è una coppia chiave-valore che puoi inizializzare quando esegui un CREATE TABLE. Non è possibile selezionare l'opzione table con
SET
oUNSET
.
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 visualizzazione 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 o da una visualizzazione.
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à 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.
Se si specificano opzioni table per Delta Lake tables, queste opzioni verranno anche 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 visualizzazione. SET è consentita come parola chiave facoltativa in Databricks SQL.provider
Utilizzare la clausola
USING
di CREATE TABLE per set l'origine dati di un table
Non dovresti usare chiavi delle proprietà che iniziano con option
identifier.
Questo prefisso identifier verrà filtrato in SHOW TBLPROPERTIES.
Il prefisso option
viene usato anche per visualizzare le opzioni table.
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 al numero iniziale di column per cui raccogliere e considerare le statistiche. -
delta.deletedFileRetentionDuration
: Set a intervalli come'interval 7 days'
per controllare quandoVACUUM
può eliminare i file. -
delta.logRetentionDuration
: Set a un intervallo, ad esempio'interval 60 days'
per gestire la durata della cronologia conservata per le query di viaggio nel tempo.