Bölüm
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
Bölümleme sütunları olarak adlandırılan önceden tanımlanmış bir sütun alt kümesi için aynı değeri paylaşan bir tablodaki satırların alt kümesinden oluşur. Bölümlerin kullanılması hem tablodaki sorguları hem de veri işlemeyi hızlandırabilir.
Bölümleri kullanmak için PARTITIONED BY yan tümcesini ekleyerek bir tablo oluştururken bölümleme sütunu kümesini tanımlarsınız.
Tabloya satır eklerken veya düzenlerken Azure Databricks satırları otomatik olarak uygun bölümlere atar.
Bölümü doğrudan partition yan tümcesi kullanarak da belirtebilirsiniz.
Bu söz dizimi Delta Lake biçimini kullanmayan tablolarda, ALTER TABLE deyimini kullanarak bölümleri hızla BıRAKMA, EKLEME veya YENIDEN ADLANDıRMA için de kullanılabilir.
BÖLÜMLENDİ
PARTITIONED BY
yan tümcesi, yeni tablonun bölümlendiği sütunların listesini belirtti.
Sözdizimi
PARTITIONED BY ( { partition_column [ column_type ] } [, ...] )
Parametre
-
Tanımlayıcı tablodaki bir
column_identifier
öğesine başvurabilir. Birden fazla sütun belirtirseniz yineleme olmamalıdır. Tablodakicolumn_specification
tüm sütunlara başvurursanız hata oluşur. -
partition_column
tablosundakicolumn_specification
bircolumn_identifier
öğesine başvuruda bulunmadığı sürece,column_type
veri türünüpartition_column
tanımlar.Databricks SQL tarafından desteklenen tüm veri türleri tüm veri kaynakları tarafından desteklenmez.
Notlar
Delta Lake tablosu tanımlamadığınız sürece sütun belirtimindeki sütunlara başvuran bölümleme sütunları her zaman tablonun sonuna taşınır.
BÖLÜM
Sorgulanacak veya işlenecek bir bölümü tanımlamak için yan tümcesini kullanırsınız PARTITION
.
Bölüm, tüm sütunlarını adlandırarak ve her biri bir değerle ilişkilendirilerek tanımlanır. Bunları belirli bir sırada belirtmeniz gerekmez.
Var olan bir tabloya yeni bölüm eklemediğiniz sürece, işlemin sütunların alt kümesiyle eşleşen tüm eşleşen bölümlere uygulandığını belirtmek için sütunları veya değerleri atabilirsiniz.
PARTITION ( { partition_column [ = partition_value | LIKE pattern ] } [ , ... ] )
Parametre
-
Tablonun bölüm sütunu olarak adlandırılan sütun. Aynı sütunu iki kez belirtemeyebilirsiniz.
= partition_value
Bölüm sütununun türüyle eşleşen bir veri türünün değişmez değeri. Bir bölüm değerini atlarsanız belirtim bu bölüm sütunu için tüm değerlerle eşleşecektir.
LIKE pattern
Bu forma yalnızca ALTER SHARE ADD TABLE içinde izin verilir.
öğesinin dize gösterimiyle
partition_column
pattern
eşleşir.pattern
LIKE içinde kullanılan bir dize değişmez değeri olmalıdır.
Örnekler
-- 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');