分區
適用於:磚的SQL磚運行時
分區由表中共享預定義列子集相同值的行子集組成分區列.使用分區可以加快對表的查詢和數據操作。
要使用分區,在創建表時定義分區列集分區的條款。
當在表中插入或操作行時,Databricks自動將行分派到適當的分區中。
也可以直接使用分區條款。
此語法也適用於不使用Delta Lake格式的表,通過使用ALTER TABLE語句快速刪除、添加或重命名分區。
分區的
的分區通過
子句指定了對新表進行分區的列列表。
參數
標識符可以引用
column_identifier
在表格中。如果指定多個列,則必須沒有重複項。如果引用表中的所有列column_specification
引發一個錯誤。除非
partition_column
指的是column_identifier
在表格的column_specification
,column_type
屬性的數據類型partition_column
.並不是所有的數據類型所有數據源都支持SQL。
分區
你可以使用分區
子句來標識要查詢或操作的分區。
分區通過命名其所有列並將每個列與一個值關聯來標識。您不需要以特定的順序指定它們。
除非要向現有表添加新分區,否則可以省略列或值,以表明該操作應用於與列子集匹配的所有匹配分區。
分區({partition_column[=partition_value|就像模式]}[,...])
例子
在表定義中使用partitioned BY子句>創建表格學生(大學字符串,主要字符串,名字字符串)分區通過(大學,主要)>創建表格教授(名字字符串)分區通過(大學字符串,部門字符串);——使用PARTITION規範插入到表中>插入成學生分區(大學=“你凱澤斯勞滕”)(主要,名字)選擇主要,名字從新生;——使用分區規範來添加和刪除分區>創建表格日誌(日期日期,idINT,事件字符串)使用CSV位置“dbfs: /日誌”分區通過(日期);>改變表格日誌添加分區(日期=日期“2021-09-10”);>改變表格日誌下降分區(日期=日期“2021-09-10”);—刪除指定大學的所有分區,與專業無關。>改變表格學生下降分區(大學=“你凱澤斯勞滕”);