Condividi tramite


Table proprietà e table opzioni

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 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.

  • table opzioni

    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 o UNSET.

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 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 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 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 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.

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