Proprietà tabella e opzioni di tabella

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

Definisce i tag definiti dall'utente per tabelle e viste.

  • proprietà della tabella

    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.

  • opzioni tabella

    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 o UNSET 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 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;
option.serialization.format     1
this.is.my.key  12
this.is.my.key2 true
transient_lastDdlTime   1649783569

SET TBLPROPERTIES

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 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;
option.serialization.format     1
this.is.my.key  14
this.is.my.key2 false
transient_lastDdlTime   1649783980

UNSET TBLPROPERTIES

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 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;
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 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;
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 per true disabilitare UPDATE e DELETE 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 quando VACUUM è 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.