Udostępnij za pośrednictwem


Właściwości tabeli i opcje tabeli

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Definiuje tagi zdefiniowane przez użytkownika dla tabel i widoków.

  • właściwości tabeli

    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.

  • opcje tabeli

    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, INTEGERlub DECIMAL .

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, INTEGERlub DECIMAL .

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 że IF 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, INTEGERlub DECIMAL .

    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ść , aby true wyłączyć UPDATE operacje i DELETE .
  • 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, kiedy VACUUM 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.