Aracılığıyla paylaş


Bölmeler

Ş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.

Bir tablo oluştururken PARTITIONED BY yan tümcesini ekleyerek bölümlendirme 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.

Bölümü doğrudan PARTITION yan tümcesi kullanarak da tanımlayabilirsiniz.

Bu söz dizimi, Delta Lake biçimini kullanmayan tablolarda, bölümleri DROP ifadesiyle hızlıca ADD, RENAME veya ALTER TABLE yapmak için de kullanılabilir.

BELİRLİ KRİTERLERE GÖRE 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 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 bir hata oluşur.

  • sütun_türü

    partition_column tablosundaki column_identifierbir column_specification öğ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 için bölümleme sütunlarını tanımlamadığınız sürece, sütun belirtimindeki sütunlara referans veren sütunlar her zaman tablonun sonuna taşınır.

PARTITION

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 sabit değeri. Bir bölüm değerini atlarsanız, özellik bu bölüm sütunu için tüm değerlerle eşleşir.

  • LIKE pattern

    Bu form yalnızca ALTER SHARE ADD TABLE'te izin verilir.

    partition_column öğesinin ve pattern öğesinin dize gösterimiyle eşleşir. pattern LIKE içinde kullanıldığı gibi bir dize sabiti 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
     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');