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 jest parą klucz-wartość, którą możesz zainicjować przy wykonywaniu CREATE TABLE lub CREATE VIEW. Można istniejących lub SET nowych lub istniejących właściwości tabeli przy użyciu 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 ustawić, gdy wykonujesz CREATE TABLE. Nie można SET ani UNSET ustawienia 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 CREATE EXTERNAL TABLE, aby utworzyć tabelę zewnętrzną.

  • location

    Użyj klauzul LOCATIONALTER TABLE i CREATE TABLE, aby ustawić lokalizację tabeli.

  • owner

    Aby przenieść własność tabeli lub widoku, użyj klauzuli [SET] OWNER TO z ALTER TABLE i ALTER VIEW. SET jest dozwolone jako opcjonalne słowo kluczowe w usłudze Databricks SQL.

  • provider

    Użyj klauzuli USINGCREATE 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 SHOW TBLPROPERTIES. Prefiks option służy również 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 true, aby wyłączyć operacje UPDATE i DELETE.
  • delta.dataSkippingNumIndexedCols: ustaw na liczbę kolumn wiodących, dla których chcesz zbierać i uwzględniać statystyki.
  • delta.deletedFileRetentionDuration: ustaw na interwał, taki jak 'interval 7 days', aby kontrolować, kiedy VACUUM może usuwać pliki.
  • delta.logRetentionDuration: Ustaw na przykład na interwał taki jak 'interval 60 days', aby kontrolować, jak długo przechowywana jest historia zapytań dotyczących podróży w czasie.