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