Condividi tramite


Table proprietà e opzioni di table

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Definisce i tag definiti dall'utente per tables e views.

  • table proprietà

    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.

  • table opzioni

    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 o UNSET 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 BOOLEANvalore letterale , STRINGINTEGER, o DECIMAL .

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 BOOLEANvalore letterale , STRINGINTEGER, o DECIMAL .

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 non IF 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 BOOLEANvalore letterale , STRINGINTEGER, o DECIMAL .

    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 optionidentifier. 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 per true per disabilitare le operazioni di UPDATE e DELETE.
  • 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 quando VACUUM è 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.