CLUSTER BY子句

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

根據輸入表達式重新劃分數據,然後對每個分區中的數據進行排序。這在語義上等同於執行分發的接著是排序.此子句僅確保結果行在每個分區內排序,而不保證輸出的總順序。

語法

集群通過表達式(,...

參數

  • 表達式

    指定生成值的一個或多個值、操作符和SQL函數的組合。

例子

>創建臨時視圖的名字年齡作為“禪回族”25),“阿尼爾B”18),照年代”16),“邁克”25),“約翰一”18),“傑克N”16);—將shuffle分區的數量減少到2,以說明' CLUSTER BY '的行為。分區數量越少,就越容易看到集群和排序行為。>火花sql洗牌分區2——選擇沒有排序的行。請注意,沒有任何排序指令,結果的值是不確定的。這裏包含它是為了顯示行為的差異——不使用' CLUSTER BY '時和使用' CLUSTER BY '時的下麵的查詢生成行——年齡列沒有排序。>選擇年齡的名字16年代25回族16傑克N25邁克一個18約翰一個18阿尼爾B——生成按年齡聚集的行。年齡相同的人聚集在一起。-在下麵的查詢中,年齡為18歲和25歲的人在第一個分區和16歲的人在第二個分區。行是基於排序的——每個分區的年齡。>選擇年齡的名字集群通過年齡18約翰一個18阿尼爾B25回族25邁克一個16年代16傑克N