Vlastnosti tabulky a možnosti tabulky
Platí pro: Databricks SQL Databricks Runtime
Definuje uživatelsky definované značky pro tabulky a zobrazení.
-
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.
-
Úč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
aniUNSET
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
BOOLEAN
hodnota ,STRING
,INTEGER
neboDECIMAL
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
BOOLEAN
hodnota ,STRING
,INTEGER
neboDECIMAL
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á, pokudIF 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
BOOLEAN
hodnota ,STRING
,INTEGER
neboDECIMAL
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
USING
CREATE 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 natrue
zakážete operaceUPDATE
aDELETE
. -
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, kdyVACUUM
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.