Partycji

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks oznaczone jako tak Databricks Runtime

Partycja składa się z podzbioru wierszy w tabeli, które mają taką samą wartość dla wstępnie zdefiniowanego podzestawu kolumn nazywanych kolumnami partycjonowania. Użycie partycji może przyspieszyć wykonywanie zapytań względem tabeli, a także manipulowanie danymi.

Aby użyć partycji, należy zdefiniować zestaw kolumn partycjonowania podczas tworzenia tabeli, uwzględniając klauzulę PARTITIONED BY .

Podczas wstawiania lub manipulowania wierszami w tabeli usługa Azure Databricks automatycznie wysyła wiersze do odpowiednich partycji.

Możesz również określić partycję bezpośrednio przy użyciu klauzuli PARTITION .

Ta składnia jest również dostępna w przypadku tabel, które nie używają formatu usługi Delta Lake, do szybkiego drop, ADD lub RENAME partycji przy użyciu instrukcji ALTER TABLE.

PARTYCJONOWANE WEDŁUG

Klauzula PARTITIONED BY określała listę kolumn, na których jest podzielona nowa tabela.

Składni

PARTITIONED BY ( { partition_column [ column_type ] } [, ...] )

Parametry

  • partition_column

    Identyfikator może odwoływać się do elementu column_identifier w tabeli. Jeśli określisz więcej niż jedną kolumnę, nie może być żadnych duplikatów. Jeśli odwołasz się do wszystkich kolumn w tabeli column_specification , zostanie zgłoszony błąd.

  • Column_type

    Jeśli element partition_column nie odwołuje się do elementu column_identifier w tabeli column_specification, column_type definiuje typ danych .partition_column

    Nie wszystkie typy danych obsługiwane przez usługę Databricks SQL są obsługiwane przez wszystkie źródła danych.

Notatki

Jeśli nie zdefiniujesz kolumn partycjonowania tabeli usługi Delta Lake odwołujących się do kolumn w specyfikacji kolumny, zawsze są przenoszone na koniec tabeli.

PARTYCJI

Klauzula służy PARTITION do identyfikowania partycji do odpytowania lub manipulowania nią.

Partycja jest identyfikowana przez nadanie wszystkim kolumnom nazwy i kojarzenie każdej z nich z wartością. Nie musisz określać ich w określonej kolejności.

Jeśli nie dodasz nowej partycji do istniejącej tabeli, możesz pominąć kolumny lub wartości, aby wskazać, że operacja ma zastosowanie do wszystkich pasujących partycji pasujących do podzestawu kolumn.

PARTITION ( { partition_column  [ = partition_value | LIKE pattern ] } [ , ... ] )

Parametry

  • partition_column

    Kolumna o nazwie jako kolumna partycji tabeli. Możesz nie podać tej samej kolumny dwa razy.

  • = partition_value

    Literał typu danych pasujący do typu kolumny partycji. Jeśli pominięto wartość partycji, specyfikacja będzie zgodna ze wszystkimi wartościami dla tej kolumny partycji.

  • LIKE pattern

    Ten formularz jest dozwolony tylko w funkcji ALTER SHARE ADD TABLE.

    Dopasuje reprezentację ciągu do partition_columnpattern. pattern musi być literałem ciągu używanym w funkcji LIKE.

Przykłady

-- Use the PARTTIONED BY clause in a table definition
> CREATE TABLE student(university STRING,
                       major      STRING,
                       name       STRING)
         PARTITIONED BY(university, major)

> CREATE TABLE professor(name STRING)
         PARTITIONED BY(university STRING,
                        department STRING);

-- Use the PARTITION specification to INSERT into a table
> INSERT INTO student
         PARTITION(university= 'TU Kaiserslautern') (major, name)
         SELECT major, name FROM freshmen;

-- Use the partition specification to add and drop a partition
> CREATE TABLE log(date DATE, id INT, event STRING)
     USING CSV LOCATION 'dbfs:/log'
     PARTITIONED BY (date);

> ALTER TABLE log ADD PARTITION(date = DATE'2021-09-10');

> ALTER TABLE log DROP PARTITION(date = DATE'2021-09-10');

-- Drop all partitions from the named university, independent of the major.
> ALTER TABLE student DROP PARTITION(university = 'TU Kaiserslautern');