Tabeleigenschappen en tabelopties
Van toepassing op: Databricks SQL Databricks Runtime
Hiermee definieert u door de gebruiker gedefinieerde tags voor tabellen en weergaven.
-
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.
-
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 nietSET
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 een
BOOLEAN
,STRING
ofINTEGER
DECIMAL
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 een
BOOLEAN
,STRING
ofINTEGER
DECIMAL
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, tenzijIF 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 een
BOOLEAN
,STRING
ofINTEGER
DECIMAL
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 tetrue
schakelen enDELETE
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 wanneerVACUUM
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.