Aracılığıyla paylaş


Bölümler

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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 BÖLÜMLENDİ 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 dağıtır.

Ayrıca bir PARTITION yan tümcesi kullanarak bölümü doğrudan 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 ] } [, ...] )

Parametreler

  • partition_column

    Bir tanımlayıcı tablodaki öğesine column_identifier başvurabilir. Birden fazla sütun belirtirseniz yineleme olmamalıdır. Tablodaki column_specification tüm sütunlara başvurursanız bir 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 tablo bölümleme sütunlarını tanımlamadığınız sürece sütun belirtimindeki 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 PARTITION kullanırsınız.

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ümler için geçerli olduğunu belirtmek için sütunları veya değerleri atlayabilirsiniz.

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

Parametreler

  • 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_column eşleşir pattern. 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');