分區(磚SQL)

分區由表中的行子集組成,這些行對預定義的列子集共享相同的值分區列.使用分區可以加快對表的查詢和數據操作。

要使用分區,在創建表時定義分區列集分區的條款。

當在表中插入或操作行時,Databricks SQL自動將行分派到適當的分區。

也可以直接使用分區條款。

該語法也可用於不使用Delta Lake格式的表,通過使用ALTER TABLE語句快速DROP、ADD或RENAME分區。

分區的

分區通過子句指定了對新表進行分區的列列表。

語法

分區通過partition_columncolumn_type(,...

參數

  • partition_column

    標識符可以引用column_identifier在表中。如果指定多個列,則不能有重複項。如果引用表中的所有列column_specification會引發一個錯誤。

  • column_type

    除非partition_column是指一個column_identifier在桌子上的column_specificationcolumn_type對象的數據類型partition_column

    並不是所有的數據類型所有數據源都支持SQL。

筆記

除非定義Delta Lake表,否則引用列規範中的列的分區列總是移動到表的末尾。

分區

您使用分區子句標識要查詢或操作的分區。

分區通過命名其所有列並將每個列與值關聯來標識。您不需要以特定的順序指定它們。

除非向現有表添加新分區,否則可以省略列或值,以表明該操作適用於與列子集匹配的所有匹配分區。

分區partition_columnpartition_value|就像模式...

參數

  • partition_column

    作為表的分區列命名的列。同一列不能指定兩次。

  • partition_value

    與分區列的類型相匹配的數據類型的字麵量。如果省略一個分區值,規範將匹配該分區列的所有值。

  • 就像模式

    這種表格隻允許入內修改共享表

    的字符串表示形式partition_column模式模式必須是在就像

例子

——在表定義中使用partitioned BY子句>創建表格學生大學字符串主要字符串的名字字符串分區通過大學主要>創建表格教授的名字字符串分區通過大學字符串部門字符串);——使用PARTITION規範將INSERT插入到表中>插入學生分區大學“你凱澤斯勞滕”主要的名字選擇主要的名字新生;——使用分區規範添加和刪除分區>創建表格日誌日期日期idINT事件字符串使用CSV位置“dbfs: /日誌”分區通過日期);>改變表格日誌添加PARTIITON日期日期“2021-09-10”);>改變表格日誌下降分區日期日期“2021-09-10”);—刪除指定大學的所有分區,獨立於專業。>改變表格學生下降分區大學“你凱澤斯勞滕”);