Tabellegenskaper och tabellalternativ
Gäller för: Databricks SQL Databricks Runtime
Definierar användardefinierade taggar för tabeller och vyer.
-
En tabellegenskap är ett nyckel/värde-par som du kan initiera när du utför en CREATE TABLE eller en CREATE VIEW. Du kan ta bort befintliga eller ANGE nya eller befintliga tabellegenskaper med hjälp av ALTER TABLE eller ALTER VIEW.
Du kan använda tabellegenskaper för att tagga tabeller med information som inte spåras av SQL.
-
Syftet med tabellalternativ är att överföra lagringsegenskaper till den underliggande lagringen, till exempel SERDE-egenskaper till Hive.
Ett tabellalternativ är ett nyckel/värde-par som du kan initiera när du utför en CREATE TABLE. Du kan inte
SET
ellerUNSET
ett tabellalternativ.
TBLPROPERTIES
Anger en eller flera tabellegenskaper i en ny tabell eller vy.
Du kan använda tabellegenskaper för att tagga tabeller med information som inte spåras av SQL.
Syntax
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametrar
property_key
Egenskapsnyckeln. Nyckeln kan bestå av en eller flera identifierare avgränsade med en punkt eller en strängliteral .
Egenskapsnycklar måste vara unika och skiftlägeskänsliga.
property_val
Värdet för egenskapen. Värdet måste vara en
BOOLEAN
,STRING
,INTEGER
ellerDECIMAL
literal.
Exempel
-- 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
ANGE TBLPROPERTIES
Anger en eller flera tabellegenskaper i en befintlig tabell eller vy.
Syntax
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametrar
property_key
Egenskapsnyckeln. Nyckeln kan bestå av en eller flera identifierare avgränsade med en punkt eller en strängliteral .
Egenskapsnycklar måste vara unika och skiftlägeskänsliga.
property_val
Det nya värdet för egenskapen. Värdet måste vara en
BOOLEAN
,STRING
,INTEGER
ellerDECIMAL
literal.
Exempel
-- 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
UNSET TBLPROPERTIES
Tar bort en eller flera tabellegenskaper från en tabell eller vy.
Syntax
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametrar
OM FINNS
En valfri sats som instruerar Databricks SQL att inte generera ett fel om någon av egenskapsnycklarna inte finns.
property_key
Egenskapsnyckeln som du vill ta bort. Nyckeln kan bestå av en eller flera identifierare avgränsade med en punkt eller en strängliteral .
Egenskapsnycklar är skiftlägeskänsliga. Om
property_key
inte finns och felet utlöses såvida inteIF EXISTS
har angetts.
Exempel
-- 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
ALTERNATIV
Anger ett eller flera tabellalternativ i en ny tabell.
Syftet med tabellalternativ är att överföra lagringsegenskaper till den underliggande lagringen, till exempel SERDE-egenskaper till Hive.
Om du anger tabellalternativ för Delta Lake-tabeller upprepas även dessa alternativ som tabellegenskaper.
Syntax
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametrar
property_key
Egenskapsnyckeln. Nyckeln kan bestå av en eller flera identifierare avgränsade med en punkt eller en strängliteral .
Egenskapsnycklar måste vara unika och skiftlägeskänsliga.
property_val
Värdet för egenskapen. Värdet måste vara en
BOOLEAN
,STRING
,INTEGER
ellerDECIMAL
literal.I Databricks SQL och Databricks Kan Runtime 13.3 LTS och senare
property_val
vara ett konstant uttryck.
Exempel
-- 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
Egenskapsnycklar för reserverad tabell
Azure Databricks reserverar vissa egenskapsnycklar för egen användning och genererar ett fel om du försöker använda dem:
external
Använd SKAPA EXTERN TABELL för att skapa en extern tabell.
location
Använd satserna
LOCATION
ALTER TABLE och CREATE TABLE för att ange en tabellplats.owner
[SET] OWNER TO
Använd satsen ALTER TABLE och ALTER VIEW för att överföra ägarskapet för en tabell eller vy. SET tillåts som ett valfritt nyckelord i Databricks SQL.provider
USING
Använd -satsen i CREATE TABLE för att ange datakällan för en tabell
Du bör inte använda egenskapsnycklar som börjar med identifieraren option
.
Den här prefixidentifieraren filtreras bort i SHOW TBLPROPERTIES.
Prefixet option
används också för att visa tabellalternativ.
Vanliga TBLPROPERTIES- och OPTIONS-nycklar
Följande inställningar används ofta med Delta Lake:
delta.appendOnly
: Ange tilltrue
för att inaktiveraUPDATE
ochDELETE
åtgärder.delta.dataSkippingNumIndexedCols
: Ange till antalet inledande kolumner som du vill samla in och ta hänsyn till statistik för.delta.deletedFileRetentionDuration
: Ställ in på ett intervall, till exempel'interval 7 days'
för att styra närVACUUM
filer ska kunna tas bort.delta.logRetentionDuration
: Ställ in på ett intervall, till exempel'interval 60 days'
för att styra hur länge historiken sparas för tidsresefrågor.