Sdílet prostřednictvím


Vlastnosti tabulky a možnosti tabulky

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Definuje uživatelsky definované značky pro tabulky a zobrazení.

  • vlastnosti tabulky

    Vlastnost tabulky je dvojice klíč-hodnota, kterou můžete inicializovat během provádění CREATE TABLE nebo CREATE VIEW. Pomocí ALTER TABLE nebo ALTER VIEWmůžete UNSET existujícími SET nebo existujícími vlastnostmi tabulky.

    Vlastnosti tabulky můžete použít k označení tabulek s informacemi, které SQL nesleduje.

  • možnosti tabulky

    Účelem možností tabulky je předat podkladovému úložišti vlastnosti úložiště, jako jsou například vlastnosti SERDE do Hive.

    Možnost tabulky je dvojice klíč-hodnota, kterou můžete inicializovat při provádění CREATE TABLE. Nelze SET ani UNSET parametr tabulky.

TBLPROPERTIES

Nastaví jednu nebo více vlastností tabulky v nové tabulce nebo zobrazení.

Vlastnosti tabulky můžete použít k označení tabulek s informacemi, které SQL nesleduje.

Syntaxe

TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametry

  • property_key

    Klíč vlastnosti. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo řetězcovým literálem.

    Klíče vlastností musí být jedinečné a rozlišují malá a velká písmena.

  • property_val

    Hodnota vlastnosti. Hodnota musí být BOOLEANhodnota , STRING, INTEGERnebo DECIMAL literál.

Příklady

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

Nastaví jednu nebo více vlastností tabulky v existující tabulce nebo zobrazení.

Syntaxe

SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametry

  • property_key

    Klíč vlastnosti. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo řetězcovým literálem.

    Klíče vlastností musí být jedinečné a rozlišují malá a velká písmena.

  • property_val

    Nová hodnota vlastnosti. Hodnota musí být BOOLEANhodnota , STRING, INTEGERnebo DECIMAL literál.

Příklady

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

ZRUŠIT NASTAVENÍ TBLPROPERTIES

Odebere jednu nebo více vlastností tabulky z tabulky nebo zobrazení.

Syntaxe

UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametry

  • POKUD EXISTUJE

    Nepovinná klauzule, která směruje Databricks SQL, aby nevyvolá chybu, pokud žádný z klíčů vlastností neexistuje.

  • property_key

    Klíč vlastnosti, který chcete odebrat. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo řetězcovým literálem.

    U klíčů vlastností se rozlišují malá a velká písmena. Pokud property_key neexistuje a chyba se vyvolá, pokud IF EXISTS není zadána.

Příklady

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

OPTIONS

Nastaví jednu nebo více možností tabulky v nové tabulce.

Účelem možností tabulky je předat vlastnosti úložiště do podkladového úložiště, jako jsou například vlastnosti SERDE do Hive.

Zadání možností tabulky pro tabulky Delta Lake bude také odpovídat těmto možnostem jako vlastností tabulky.

Syntaxe

OPTIONS ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametry

  • property_key

    Klíč vlastnosti. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo řetězcovým literálem.

    Klíče vlastností musí být jedinečné a rozlišují velká a malá písmena.

  • property_val

    Hodnota vlastnosti. Hodnota musí být BOOLEANhodnota , STRING, INTEGERnebo DECIMAL literál.

    V Databricks SQL a Databricks Runtime 13.3 LTS a vyšší property_val může být konstantní výraz.

Příklady

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

Klíče vlastností rezervovaných tabulek

Azure Databricks si vyhrazuje některé klíče vlastností pro vlastní použití a při pokusu o jejich použití vyvolá chybu:

  • external

    K vytvoření externí tabulky použijte CREATE EXTERNAL TABLE.

  • location

    K nastavení umístění tabulky použijte klauzule LOCATION, ALTER TABLE a CREATE TABLE.

  • owner

    K převodu vlastnictví tabulky nebo zobrazení použijte klauzuli [SET] OWNER TO z ALTER TABLE a ALTER VIEW. SET je v Databricks SQL povolené jako volitelné klíčové slovo.

  • provider

    K nastavení zdroje dat tabulky použijte klauzuli USINGCREATE TABLE.

Klíče vlastností začínající identifikátorem option byste neměli používat. Tento identifikátor předpony bude vyfiltrován v SHOW TBLPROPERTIES. Předpona option slouží také k zobrazení možností tabulky .

Běžné klíče TBLPROPERTIES a OPTIONS

U Delta Lake se běžně používají následující nastavení:

  • delta.appendOnly: Nastavením na true zakážete operace UPDATE a DELETE.
  • delta.dataSkippingNumIndexedCols: Nastavte počet úvodních sloupců, pro které se mají shromažďovat a zvažovat statistiky.
  • delta.deletedFileRetentionDuration: Nastavte interval, například 'interval 7 days', který určuje, kdy VACUUM může odstranit soubory.
  • delta.logRetentionDuration: Nastavte interval, například 'interval 60 days', abyste mohli řídit, jak dlouho se historie uchovává pro dotazy na časovou cestu.