Tabeleigenschappen en tabelopties

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan 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 VIEW uitvoert. U kunt bestaande of bestaande tabeleigenschappen INSTELLEN met ALTER TABLE of ALTER VIEW.

    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 TABLE uitvoert. U kunt of UNSET een tabeloptie niet SET gebruiken.

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 }

Parameters

  • property_key

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

    Eigenschapssleutels moeten uniek zijn en hoofdlettergevoelig zijn.

  • property_val

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

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 }

Parameters

  • property_key

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

    Eigenschapssleutels moeten uniek zijn en hoofdlettergevoelig zijn.

  • property_val

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

NIET-INSTELLEN 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 }

Parameters

  • INDIEN AANWEZIG

    Een optionele component die Databricks SQL leidt om geen fout te genereren als een van de eigenschapssleutels niet bestaat.

  • property_key

    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 hoofdlettergevoelig. Als property_key deze niet bestaat en er een fout optreedt, tenzij IF EXISTS deze 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;
option.serialization.format     1
transient_lastDdlTime   1649784415

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 }

Parameters

  • property_key

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

    Eigenschapssleutels moeten uniek zijn en hoofdlettergevoelig zijn.

  • property_val

    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;
option.this.is.my.key bluegreen
option.serialization.format     2

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

De volgende instellingen worden vaak gebruikt met Delta Lake:

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