Dela via


Tabellegenskaper och tabellalternativ

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Definierar användardefinierade taggar för tabeller och vyer.

  • tabell-egenskaper

    En tabellegenskap är ett nyckel-värdepar som du kan initiera när du kör en CREATE TABLE eller en CREATE VIEW. Du kan UNSET befintliga eller SET 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.

  • tabellalternativ

    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 utföra SET eller UNSET på 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

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 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, INTEGEReller DECIMAL 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 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 inte IF 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 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, INTEGEReller DECIMAL 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
...

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 TABLE för att skapa en extern tabell.

  • location

    Använd LOCATION-satserna i ALTER TABLE och CREATE TABLE för att ange en tabellposition.

  • owner

    Använd [SET] OWNER TO-satsen i 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

    Använd USING-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 option identifierare. 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: Ställ in på true för att inaktivera UPDATE och DELETE å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 som 'interval 7 days' för att styra när VACUUM tillåts ta bort filer.
  • delta.logRetentionDuration: Ställ in på ett intervall som 'interval 60 days' för att styra hur länge historiken sparas för tidsresefrågor.