分區

適用於:勾選“是”磚的SQL勾選“是”磚運行時

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

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

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

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

此語法也適用於不使用Delta Lake格式的表,通過使用ALTER TABLE語句快速刪除、添加或重命名分區。

分區的

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

語法

分區通過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規範插入到表中>插入學生分區大學“你凱澤斯勞滕”主要名字選擇主要名字新生——使用分區規範來添加和刪除分區>創建表格日誌日期日期idINT事件字符串使用CSV位置“dbfs: /日誌”分區通過日期);>改變表格日誌添加分區日期日期“2021-09-10”);>改變表格日誌下降分區日期日期“2021-09-10”);—刪除指定大學的所有分區,與專業無關。>改變表格學生下降分區大學“你凱澤斯勞滕”);