Condividi tramite


Proprietà della tabella e opzioni della 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à della tabella è una coppia chiave-valore che è possibile inizializzare quando si esegue un CREATE TABLE o un CREATE VIEW. È possibile UNSET le proprietà di tabella esistenti o nuove usando SET o ALTER TABLE.

    È possibile usare le proprietà della tabella per contrassegnare le tabelle con informazioni non rilevate da SQL.

  • opzioni di tabella

    Lo scopo delle opzioni di tabella è passare le proprietà di archiviazione allo storage sottostante, ad esempio le proprietà SERDE a Hive.

    Un'opzione di tabella è una coppia chiave-valore che puoi inizializzare quando effettui un 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.

  • valore_proprietà

    Il valore per la proprietà. Il valore deve essere un BOOLEAN, STRING, INTEGER o DECIMAL valore letterale.

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      12
this.is.my.key2   true
...

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.

  • valore_proprietà

    Nuovo valore per la proprietà. Il valore deve essere un BOOLEAN, STRING, INTEGER o DECIMAL valore letterale.

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à della tabella da una tabella o da una vista.

Sintassi

UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametri

  • SE ESISTE

    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, viene generato l'errore a meno che IF EXISTS non 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 ...

OPZIONI

Imposta una o più opzioni di tabella in una nuova tabella.

Lo scopo delle opzioni di tabella è passare le proprietà di archiviazione allo storage 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 sono case-sensitive.

  • valore_proprietà

    Il valore per la proprietà. Il valore deve essere un BOOLEAN, STRING, INTEGER o DECIMAL valore letterale.

    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à 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 clausole LOCATION di ALTER TABLE e CREATE TABLE per impostare una posizione della tabella.

  • owner

    Utilizzare la clausola [SET] OWNER TO di ALTER TABLE e ALTER VIEW per trasferire la proprietà di una tabella o vista. SET è consentita come parola chiave facoltativa in Databricks SQL.

  • provider

    Utilizzare la clausola USING di 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 prefisso option viene usato anche per visualizzare le opzioni della tabella .

Chiavi comuni di TBLPROPERTIES e OPTIONS

Le impostazioni seguenti vengono comunemente usate con Delta Lake:

  • delta.appendOnly: impostare su true per disabilitare le operazioni di UPDATE e DELETE.
  • delta.dataSkippingNumIndexedCols: impostare il numero di colonne principali per cui raccogliere e prendere in considerazione le statistiche.
  • delta.deletedFileRetentionDuration: impostare su un intervallo, ad esempio 'interval 7 days' per controllare quando VACUUM è autorizzato a eliminare i file.
  • delta.logRetentionDuration: Imposta un intervallo, ad esempio 'interval 60 days', per controllare per quanto tempo viene mantenuta la cronologia delle query di viaggi temporali.