更新时间:2026-07-03 GMT+08:00
分享

CLUSTER BY

功能描述

CLUSTER BY子句用于根据指定字段对数据进行分桶,并在桶内按同一字段进行排序。CLUSTER BY等效于DISTRIBUTE BY和SORT BY使用相同字段的情况。

语法格式

SELECT projectItem [, ...] FROM table_reference   CLUSTER BY expression [, ...]

参数说明

参数

说明

expression

分桶及排序表达式。支持单字段及多字段。CLUSTER BY根据指定字段的哈希值将数据分配到不同的桶中,并在桶内按同一字段排序。

注意事项

  • CLUSTER BY只能按升序排序,不能指定ASC或DESC。如需指定排序方向,请使用DISTRIBUTE BY + SORT BY组合。
  • CLUSTER BY等效于DISTRIBUTE BY和SORT BY使用相同字段。

示例

根据字段score进行分桶并桶内排序:

SELECT * FROM student CLUSTER BY score; 

根据多字段分桶排序:

SELECT * FROM student CLUSTER BY class_id, score; 

当需要指定降序时,使用DISTRIBUTE BY + SORT BY替代:

SELECT * FROM student DISTRIBUTE BY score SORT BY score DESC;

相关文档