Megosztás a következőn keresztül:


Partíciók

A következőre vonatkozik:check marked yes Databricks SQL check marked yes Databricks Runtime

A partíciók egy tábla sorainak egy részhalmazából állnak, amelyek ugyanazt az értéket használják az oszlopok előre definiált részhalmazához, az úgynevezett particionálási oszlopokhoz. A partíciók használata felgyorsíthatja a tábla lekérdezéseit, valamint az adatok kezelését.

Partíciók használatához meg kell határoznia a particionálási oszlopkészletet egy tábla létrehozásakor a PARTITIONED BY záradékkal.

Amikor sorokat szúr be vagy módosít egy táblában, az Azure Databricks automatikusan sorokat küld a megfelelő partíciókba.

A partíciót közvetlenül is megadhatja egy PARTITION záradékkal.

Ez a szintaxis olyan táblákhoz is elérhető, amelyek nem Delta Lake-formátumot használnak, az ALTER TABLE utasítással gyorsan drop, ADD vagy RENAME partíciókat használhatnak.

PARTICIONÁLTA

A PARTITIONED BY záradék meghatározta azoknak az oszlopoknak a listáját, amelyek mentén az új tábla particionálása történik.

Szintaxis

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

Paraméterek

  • partition_column

    Egy azonosító hivatkozhat egy column_identifier táblára. Ha egynél több oszlopot ad meg, nem lehetnek ismétlődések. Ha a tábla összes oszlopára column_specification hivatkozik, hibaüzenet jelenik meg.

  • column_type

    Ha a partition_column tábla egyikére column_specificationnem hivatkozikcolumn_identifier, column_type a a adattípusát partition_columnhatározza meg.

    A Databricks SQL által támogatott adattípusokat nem minden adatforrás támogatja.

Megjegyzések

Ha nem határoz meg delta lake-táblaparticionálási oszlopokat, amelyek az oszlopspecifikáció oszlopaira hivatkoznak, a rendszer mindig a tábla végére helyezi át.

PARTÍCIÓ

A PARTITION záradék használatával azonosíthatja a lekérdezni vagy manipulálni kívánt partíciókat.

A partíciók az összes oszlop elnevezésével és értékhez társításával azonosíthatók. Ezeket nem kell meghatározott sorrendben megadnia.

Ha nem ad hozzá új partíciót egy meglévő táblához, kihagyhat oszlopokat vagy értékeket, amelyek jelzik, hogy a művelet az oszlopok részhalmazával egyező összes egyező partícióra vonatkozik.

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

Paraméterek

  • partition_column

    A tábla partícióoszlopaként elnevezett oszlop. Nem adhatja meg kétszer ugyanazt az oszlopot.

  • = partition_value

    A partícióoszlop típusának megfelelő adattípus literálja. Ha kihagy egy partícióértéket, a specifikáció megegyezik a partícióoszlop összes értékével.

  • LIKE pattern

    Ez az űrlap csak az ALTER SHARE ADD TABLE alkalmazásban engedélyezett.

    A sztringképének megfeleltetése partition_column a következőre pattern: . pattern A LIKE függvényben használt sztringkonstansnak kell lennie.

Példák

-- 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');