Freigeben über


Tabelleneigenschaften und Tabellenoptionen

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Definiert benutzerdefinierte Tags für Tabellen und Ansichten.

  • Tabelleneigenschaften

    Eine Tabelleneigenschaft ist ein Schlüsselwertpaar, das Sie initialisieren können, wenn Sie eine CREATE TABLE oder eine CREATE VIEW ausführen. Mit ALTER TABLE oder ALTER TABLE können Sie bestehende Tabelleneigenschaften ENTFERNEN oder neue oder bestehende Tabelleneigenschaften SETZEN.

    Sie können Tabelleneigenschaften verwenden, um Tabellen mit Informationen zu kennzeichnen, die von SQL nicht nachverfolgt werden.

  • Tabellenoptionen

    Der Zweck der Tabellenoptionen besteht darin, Speichereigenschaften an den zugrunde liegenden Speicher zu übergeben, z. B. SERDE-Eigenschaften an Hive.

    Eine Tabellenoption ist ein Schlüsselwertpaar, das Sie beim Ausführen einer CREATE TABLE initialisieren können. Sie können keine SET Tabellenoption verwenden UNSET.

TBLPROPERTIES

Legt eine oder mehrere Tabelleneigenschaften in einer neuen Tabelle oder Ansicht fest.

Sie können Tabelleneigenschaften verwenden, um Tabellen mit Informationen zu kennzeichnen, die von SQL nicht nachverfolgt werden.

Syntax

TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

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

Parameter

  • property_key

    Der Eigenschaftenschlüssel. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein Zeichenfolgenliteral getrennt sind.

    Eigenschaftenschlüssel müssen eindeutig sein und Groß-/Kleinschreibung beachtet werden.

  • property_val

    Der Wert für die Eigenschaft. Der Wert muss ein Literal vom Typ BOOLEAN, STRING, INTEGER oder DECIMAL sein.

Beispiele

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

Legt eine oder mehrere Tabelleneigenschaften in einer vorhandenen Tabelle oder Ansicht fest.

Syntax

SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

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

Parameter

  • property_key

    Der Eigenschaftenschlüssel. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein Zeichenfolgenliteral getrennt sind.

    Eigenschaftenschlüssel müssen eindeutig sein und Groß-/Kleinschreibung beachtet werden.

  • property_val

    Der neue Wert für die Eigenschaft. Der Wert muss ein Literal vom Typ BOOLEAN, STRING, INTEGER oder DECIMAL sein.

Beispiele

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

UNSET TBLPROPERTIES

Entfernt eine oder mehrere Tabelleneigenschaften aus einer Tabelle oder Ansicht.

Syntax

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

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

Parameter

  • IF EXISTS

    Eine optionale Klausel, die Databricks leitet, SQL keinen Fehler auslösen, wenn eine der Eigenschaftenschlüssel nicht vorhanden ist.

  • property_key

    Der Schlüssel der zu entfernenden Eigenschaft. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein Zeichenfolgenliteral getrennt sind.

    Bei Eigenschaftenschlüsseln wird Groß-/Kleinschreibung unterschieden. Wenn property_key nicht vorhanden ist und Fehler ausgelöst werden, es sei denn IF EXISTS wurde angegeben.

Beispiele

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

Legt eine oder mehrere Tabellenoptionen in einer neuen Tabelle fest.

Der Zweck der Tabellenoptionen besteht darin, Speichereigenschaften an den zugrunde liegenden Speicher zu übergeben, z. B. SERDE-Eigenschaften an Hive.

Wenn Sie Tabellenoptionen für Delta Lake-Tabellen angeben, werden diese Optionen auch als Tabelleneigenschaften angezeigt.

Syntax

OPTIONS ( { property_key [ = ] property_val } [, ...] )

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

Parameter

  • property_key

    Der Eigenschaftenschlüssel. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein Zeichenfolgenliteral getrennt sind.

    Eigenschaftenschlüssel müssen eindeutig sein, und die Groß-/Kleinschreibung muss beachtet werden.

  • property_val

    Der Wert für die Eigenschaft. Der Wert muss ein Literal vom Typ BOOLEAN, STRING, INTEGER oder DECIMAL sein.

    In Databricks SQL und Databricks Runtime 13.3 LTS und höher kann property_val ein konstanter Ausdruck sein.

Beispiele

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

Reservierte Tabelleneigenschaftenschlüssel

Azure Databricks behält einige Eigenschaftenschlüssel für die eigene Verwendung vor und löst einen Fehler aus, wenn Sie versuchen, sie zu verwenden:

  • external

    Verwenden Sie CREATE EXTERNAL TABLE, um eine externe Tabelle zu erstellen.

  • location

    Verwenden Sie die LOCATION Klauseln ALTER TABLE und CREATE TABLE, um einen Tabellenspeicherort festzulegen.

  • owner

    Verwenden Sie die [SET] OWNER TO Klausel von ALTER TABLE und ALTER VIEW, um den Besitz einer Tabelle oder Ansicht zu übertragen. SET ist als optionales Schlüsselwort in Databricks SQL zulässig.

  • provider

    Verwenden der USING Klausel von CREATE TABLE zum Festlegen der Datenquelle einer Tabelle

Sie sollten keine Eigenschaftenschlüssel verwenden, die mit dem option Bezeichner beginnen. Dieser Präfixbezeichner wird in SHOW TBLPROPERTIES gefiltert. Das option Präfix wird auch zum Anzeigen von Tabellenoptionen verwendet.

Allgemeine TBLPROPERTIES- und OPTIONStasten

Die folgenden Einstellungen werden häufig mit Delta Lake verwendet:

  • delta.appendOnly: Auf true deaktivieren UPDATE und DELETE Vorgänge festlegen.
  • delta.dataSkippingNumIndexedCols: Legen Sie die Anzahl der führenden Spalten fest, für die Statistiken erfasst und berücksichtigt werden sollen.
  • delta.deletedFileRetentionDuration: Legen Sie ein Intervall fest, z. B. 'interval 7 days' zum Steuern, wann VACUUM Dateien gelöscht werden dürfen.
  • delta.logRetentionDuration: Legen Sie ein Intervall fest, z 'interval 60 days'. B. um zu steuern, wie lange der Verlauf für Zeitreiseabfragen aufbewahrt wird.