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

Proprietà della tabella Delta e Iceberg

Le impostazioni seguenti vengono comunemente usate con le tabelle Delta Lake e Apache Iceberg:

  • delta.appendOnly: impostare su true per disabilitare le operazioni di UPDATE e DELETE.
  • delta.dataSkippingNumIndexedCols: impostare sul numero di colonne iniziali 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.

Per l'elenco completo delle proprietà della tabella Delta Lake e Apache Iceberg disponibili, incluse descrizioni, tipi di dati e valori predefiniti, vedere Informazioni di riferimento sulle proprietà della tabella.

OPZIONI formato file

Quando si crea una tabella con un'origine dati non Delta Lake tramite CREATE TABLE USING, è possibile usare OPTIONS per passare proprietà di archiviazione specifiche del formato di file. Le chiavi di opzione disponibili dipendono dal formato di file (CSV, JSON, PARQUET, ORCAVRO, TEXT, XML). BINARYFILE Per informazioni dettagliate sulle opzioni disponibili per ogni formato di file, vedere read_files funzione con valori di tabella.