Partíciók
A következőkre vonatkozik: Databricks SQL Databricks Runtime
A partíciók egy tábla sorainak egy részhalmazából állnak, amelyek ugyanazt az értéket használják a particionálási oszlopok nevű előre definiált oszlophalmazhoz. A partíciók használata felgyorsíthatja a lekérdezéseket a táblán, valamint az adatmanipulációt is.
Partíciók használatához meg kell határoznia a particionálási oszlopkészletet a tábla létrehozásakor a PARTITIONED BY záradékkal.
Sorok táblázatba való beszúrásakor vagy módosításakor 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ák esetében 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 hozhatnak létre.
PARTICIONÁLT
A PARTITIONED BY
záradék azoknak az oszlopoknak a listáját adta meg, amelyek mentén az új tábla particionálása történik.
Syntax
PARTITIONED BY ( { partition_column [ column_type ] } [, ...] )
Paraméterek
-
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áracolumn_specification
hivatkozik, hiba jelenik meg. -
Hacsak a
partition_column
tábla egyikérecolumn_identifier
nem hivatkozik,column_type
a táblacolumn_specification
adattípusátpartition_column
határozza meg.A Databricks SQL által támogatott adattípusokat nem minden adatforrás támogatja.
Jegyzetek
Ha nem határoz meg delta lake-tábla particionálási oszlopokat, amelyek az oszlopspecifikáció oszlopaira hivatkoznak, a rendszer mindig a tábla végére helyezi át az oszlopokat.
PARTÍCIÓ
A PARTITION
záradék segítségével 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 egy értékkel való társításával azonosíthatók. Ezeket nem kell megadott 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ának megfelelő összes egyező partícióra vonatkozik.
PARTITION ( { partition_column [ = partition_value | LIKE pattern ] } [ , ... ] )
Paraméterek
-
A tábla partícióoszlopaként elnevezett oszlop. Előfordulhat, hogy kétszer nem adja meg 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.
Megegyezik a következő karakterlánc-ábrázolásával
partition_column
pattern
: .pattern
A LIKE-ban 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
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');