Delen via


Tabeleigenschappen en tabelopties

Van toepassing op:aangevinkt ja Databricks SQL aangevinkt ja Databricks Runtime

Hiermee definieert u door de gebruiker gedefinieerde tags voor tabellen en weergaven.

  • tabeleigenschappen

    Een tabeleigenschap is een sleutel-waardepaar dat u kunt initialiseren wanneer u een CREATE TABLE of een CREATE VIEWuitvoert. U kunt de bestaande of nieuwe tabeleigenschappen ongedaan maken met behulp van of SET.

    U kunt tabeleigenschappen gebruiken om tabellen te taggen met gegevens die niet worden bijgehouden door SQL.

  • tabelopties

    Het doel van tabelopties is om opslageigenschappen door te geven aan de onderliggende opslag, zoals SERDE-eigenschappen aan Hive.

    Een tabeloptie is een sleutel-waardepaar dat u kunt initialiseren wanneer u een CREATE TABLEuitvoert. U kunt geen tabeloptie uitvoeren met SET of UNSET.

TBLPROPERTIES

Hiermee stelt u een of meer tabeleigenschappen in een nieuwe tabel of weergave in.

U kunt tabeleigenschappen gebruiken om tabellen te taggen met gegevens die niet worden bijgehouden door SQL.

Syntaxis

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

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

Parameterwaarden

  • eigenschap_sleutel

    De eigenschapssleutel. De sleutel kan bestaan uit een of meer id's , gescheiden door een punt of een letterlijke tekenreeks.

    Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.

  • eigenschap_waarde

    De waarde voor de eigenschap. De waarde moet eenBOOLEAN, STRINGof INTEGERDECIMAL letterlijke waarde zijn.

Voorbeelden

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

Hiermee stelt u een of meer tabeleigenschappen in een bestaande tabel of weergave in.

Syntaxis

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

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

Parameterwaarden

  • eigenschap_sleutel

    De eigenschapssleutel. De sleutel kan bestaan uit een of meer id's , gescheiden door een punt of een letterlijke tekenreeks.

    Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.

  • eigenschap_waarde

    De nieuwe waarde voor de eigenschap. De waarde moet eenBOOLEAN, STRINGof INTEGERDECIMAL letterlijke waarde zijn.

Voorbeelden

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

HERSTEL TBLPROPERTIES

Hiermee verwijdert u een of meer tabeleigenschappen uit een tabel of weergave.

Syntaxis

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

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

Parameterwaarden

  • ALS BESTAAT

    Een optionele clausule die Databricks SQL instrueert om geen foutmelding te geven als een van de eigenschappensleutels niet bestaat.

  • eigenschap_sleutel

    De eigenschapssleutel die u wilt verwijderen. De sleutel kan bestaan uit een of meer id's , gescheiden door een punt of een letterlijke tekenreeks.

    Eigenschapssleutels zijn registergevoelig. Als property_key niet bestaat, wordt er een fout gegenereerd, tenzij IF EXISTS is opgegeven.

Voorbeelden

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

OPTIES

Hiermee stelt u een of meer tabelopties in een nieuwe tabel in.

Het doel van tabelopties is om opslageigenschappen door te geven aan de onderliggende opslag, zoals SERDE-eigenschappen aan Hive.

Als u tabelopties voor Delta Lake-tabellen opgeeft, worden deze opties ook als tabeleigenschappen herhaald.

Syntaxis

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

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

Parameterwaarden

  • eigenschap_sleutel

    De eigenschapssleutel. De sleutel kan bestaan uit een of meer id's , gescheiden door een punt of een letterlijke tekenreeks.

    Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.

  • eigenschap_waarde

    De waarde voor de eigenschap. De waarde moet eenBOOLEAN, STRINGof INTEGERDECIMAL letterlijke waarde zijn.

    In Databricks SQL en Databricks Runtime 13.3 LTS en hoger property_val kan een constante expressie zijn.

Voorbeelden

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

Gereserveerde tabeleigenschapssleutels

Azure Databricks reserveert enkele eigenschapssleutels voor eigen gebruik en genereert een fout als u deze probeert te gebruiken:

  • external

    Gebruik CREATE EXTERNAL TABLE om een externe tabel te maken.

  • location

    Gebruik de LOCATION-componenten van ALTER TABLE en CREATE TABLE om een tabellocatie in te stellen.

  • owner

    Gebruik de [SET] OWNER TO-component van ALTER TABLE en ALTER VIEW om het eigendom van een tabel of weergave over te dragen. SET is toegestaan als een optioneel trefwoord in Databricks SQL.

  • provider

    Gebruik de USING-component van CREATE TABLE om de gegevensbron van een tabel in te stellen

Gebruik geen eigenschapssleutels die beginnen met de option-id. Deze voorvoegsel-id wordt uitgefilterd in SHOW TBLPROPERTIES. Het option voorvoegsel wordt ook gebruikt om tabelopties weer te geven.

Algemene TBLPROPERTIES- en OPTIONS-sleutels

Eigenschappen van Delta- en Iceberg-tabellen

De volgende instellingen worden vaak gebruikt met Delta Lake- en Apache Iceberg-tabellen:

  • delta.appendOnly: ingesteld op true om UPDATE- en DELETE-bewerkingen uit te schakelen.
  • delta.dataSkippingNumIndexedCols: Stel in op het aantal voorloopkolommen waarvoor statistieken moeten worden verzameld en overwogen.
  • delta.deletedFileRetentionDuration: Instellen op een interval zoals 'interval 7 days' om te bepalen wanneer VACUUM bestanden mag verwijderen.
  • delta.logRetentionDuration: Stel in op een interval, zoals 'interval 60 days' om te bepalen hoe lang de geschiedenis wordt bewaard voor query's voor tijdreizen.

Zie tabeleigenschappenreferenties voor de volledige lijst met beschikbare eigenschappen van Delta Lake en Apache Iceberg, inclusief beschrijvingen, gegevenstypen en standaardwaarden.

OPTIES voor bestandsindeling

Wanneer u een tabel met een niet-Delta Lake-gegevensbron maakt met USINGCREATE TABLE, kunt u de OPTIONS bestandsindelingsspecifieke opslageigenschappen doorgeven. De beschikbare optiesleutels zijn afhankelijk van de bestandsindeling (CSV, JSON, PARQUET, AVRO, ORC, TEXT, ). XMLBINARYFILE Zie de functie tabelwaarde voor meer informatie over de beschikbare opties voor elke bestandsindelingread_files.