Bölüm

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

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

  • partition_column

    Tanımlayıcı tablodaki bir column_identifier öğesine başvurabilir. Birden fazla sütun belirtirseniz yineleme olmamalıdır. Tablodaki column_specification tüm sütunlara başvurursanız hata oluşur.

  • column_type

    partition_column tablosundaki column_specificationbir column_identifier öğesine başvuruda bulunmadığı sürece, column_type veri türünü partition_columntanı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

  • partition_column

    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_columnpatterneşleşir. patternLIKE 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');