Table egenskaper och table alternativ
Gäller för: Databricks SQL
Databricks Runtime
Definierar användardefinierade taggar för tables och views.
-
En table-egenskap är ett nyckel-värde-par som du kan initiera när du utför en CREATE TABLE eller en CREATE VIEW. Du kan UNSET befintliga eller SET nya eller befintliga table egenskaper med hjälp av ALTER TABLE eller ALTER VIEW.
Du kan använda table egenskaper för att tagga tables med information som inte spåras av SQL.
-
Syftet med table alternativ är att överföra lagringsegenskaper till den underliggande lagringen, till exempel SERDE-egenskaper till Hive.
Ett table alternativ är ett nyckel/värde-par som du kan initiera när du utför en CREATE TABLE. Du kan inte
SET
ellerUNSET
ett table alternativ.
TBLPROPERTIES
Anger en eller flera table-egenskaper i en ny table eller i en ny vy.
Du kan använda table egenskaper för att tagga tables med information som inte spåras av SQL.
Syntax
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
SET TBLPROPERTIES
Anger en eller flera table egenskaper i en befintlig table eller vy.
Syntax
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
UNSET TBLPROPERTIES
Tar bort en eller flera table egenskaper från en table eller vy.
Syntax
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
OM FINNS
En valfri sats som instruerar Databricks SQL att inte generera ett fel om någon av egenskapsnycklarna inte finns.
property_key
Egenskapsnyckeln till remove. 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;
key value
-------------------------------- -----
... keys other that key and key2 ...
ALTERNATIV
Anger en eller flera table inställningar i en ny table.
Syftet med table alternativ är att överföra lagringsegenskaper till den underliggande lagringen, till exempel SERDE-egenskaper till Hive.
Om du anger table alternativ för Delta Lake tables upprepas även dessa alternativ som table egenskaper.
Syntax
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parameters
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;
key value
---------------- -----
...
option.this.is.my.key bluegreen
...
Reserverade table egenskapstangenter
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 CREATE EXTERNAL TABLE för att skapa en extern table.
location
Använd
LOCATION
-satserna från ALTER TABLE och CREATE TABLE för att set en table plats.owner
Använd
[SET] OWNER TO
-klausulen från ALTER TABLE och ALTER VIEW för att överlåta äganderätten till en table eller vy. SET tillåts som ett valfritt nyckelord i Databricks SQL.provider
Använd
USING
-satsen i CREATE TABLE för att set datakällan för en table
Du bör inte använda egenskapsnycklar som börjar med option
identifier.
Det här prefixet identifier filtreras bort i SHOW TBLPROPERTIES.
Prefixet option
används också för att visa table alternativ.
Vanliga TBLPROPERTIES- och OPTIONS-nycklar
Följande inställningar används ofta med Delta Lake:
-
delta.appendOnly
: Set tilltrue
för att inaktiveraUPDATE
ochDELETE
åtgärder. -
delta.dataSkippingNumIndexedCols
: Set till antalet ledande column för vilka statistik ska samlas in och beaktas. -
delta.deletedFileRetentionDuration
: Set till ett intervall, till exempel'interval 7 days'
för att styra närVACUUM
tillåts ta bort filer. -
delta.logRetentionDuration
: Set till ett intervall som'interval 60 days'
för att styra hur länge historiken sparas för tidsresefrågor.