Właściwości tabeli i opcje tabeli
Dotyczy: Databricks SQL Databricks Runtime
Definiuje tagi zdefiniowane przez użytkownika dla tabel i widoków.
-
Właściwość tabeli to para klucz-wartość, którą można zainicjować podczas wykonywania polecenia CREATE TABLE lub CREATE VIEW. Istniejące lub istniejące właściwości tabeli można USUNĄĆ, ustawiać nowe lub istniejące przy użyciu polecenia ALTER TABLE lub ALTER VIEW.
Za pomocą właściwości tabeli można tagować tabele z informacjami, które nie są śledzone przez program SQL.
-
Celem opcji tabeli jest przekazanie właściwości magazynu do magazynu bazowego, takiego jak właściwości SERDE do programu Hive.
Opcja tabeli to para klucz-wartość, którą można zainicjować podczas wykonywania tabeli CREATE. Nie można ani
UNSET
nie można wybraćSET
opcji tabeli.
TBLPROPERTIES
Ustawia co najmniej jedną właściwości tabeli w nowej tabeli lub widoku.
Za pomocą właściwości tabeli można tagować tabele z informacjami, które nie są śledzone przez program SQL.
Składnia
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametry
property_key
Klucz właściwości. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.
Klucze właściwości muszą być unikatowe i uwzględniane są wielkość liter.
property_val
Wartość właściwości . Wartość musi być literałem
BOOLEAN
,STRING
,INTEGER
lubDECIMAL
.
Przykłady
-- 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
Ustawia co najmniej jedną właściwości tabeli w istniejącej tabeli lub widoku.
Składnia
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametry
property_key
Klucz właściwości. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.
Klucze właściwości muszą być unikatowe i uwzględniane są wielkość liter.
property_val
Nowa wartość właściwości. Wartość musi być literałem
BOOLEAN
,STRING
,INTEGER
lubDECIMAL
.
Przykłady
-- 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
Usuwa co najmniej jedną właściwości tabeli z tabeli lub widoku.
Składnia
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametry
JEŚLI ISTNIEJE
Opcjonalna klauzula kierująca usługę Databricks SQL, aby nie zgłaszać błędu, jeśli którykolwiek z kluczy właściwości nie istnieje.
property_key
Klucz właściwości do usunięcia. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.
W kluczach właściwości jest rozróżniana wielkość liter. Jeśli
property_key
nie istnieje i zostanie zgłoszony błąd, chyba żeIF EXISTS
został określony.
Przykłady
-- 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
Ustawia co najmniej jedną opcję tabeli w nowej tabeli.
Celem opcji tabeli jest przekazanie właściwości magazynu do magazynu bazowego, takiego jak właściwości SERDE do programu Hive.
Określanie opcji tabeli dla tabel usługi Delta Lake spowoduje również powtórzenie tych opcji jako właściwości tabeli.
Składnia
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parametry
property_key
Klucz właściwości. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.
Klucze właściwości muszą być unikatowe i uwzględniane są wielkość liter.
property_val
Wartość właściwości . Wartość musi być literałem
BOOLEAN
,STRING
,INTEGER
lubDECIMAL
.W usługach Databricks SQL i Databricks Runtime 13.3 LTS i nowszych
property_val
może być wyrażeniem stałym.
Przykłady
-- 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
...
Zarezerwowane klucze właściwości tabeli
Usługa Azure Databricks rezerwuje niektóre klucze właściwości do własnego użycia i zgłasza błąd, jeśli spróbujesz ich użyć:
external
Użyj polecenia CREATE EXTERNAL TABLE , aby utworzyć tabelę zewnętrzną.
location
LOCATION
Użyj klauzul ALTER TABLE i CREATE TABLE, aby ustawić lokalizację tabeli.owner
[SET] OWNER TO
Użyj klauzuli ALTER TABLE i ALTER VIEW, aby przenieść własność tabeli lub widoku. Zestaw jest dozwolony jako opcjonalne słowo kluczowe w usłudze Databricks SQL.provider
USING
Użyj klauzuli CREATE TABLE, aby ustawić źródło danych tabeli
Nie należy używać kluczy właściwości rozpoczynających się od identyfikatora option
.
Ten identyfikator prefiksu zostanie odfiltrowany w funkcji SHOW TBLPROPERTIES.
Prefiks option
jest również używany do wyświetlania opcji tabeli.
Typowe klucze TBLPROPERTIES i OPTIONS
Następujące ustawienia są często używane z usługą Delta Lake:
delta.appendOnly
: ustaw wartość na wartość , abytrue
wyłączyćUPDATE
operacje iDELETE
.delta.dataSkippingNumIndexedCols
: ustaw na liczbę kolumn wiodących, dla których chcesz zbierać i uwzględniać statystyki.delta.deletedFileRetentionDuration
: ustaw wartość interwału, na przykład'interval 7 days'
w celu kontrolowania, kiedyVACUUM
można usuwać pliki.delta.logRetentionDuration
: ustaw na interwał, taki jak'interval 60 days'
kontrolowanie, jak długa historia jest przechowywana dla zapytań dotyczących podróży czasowych.