DISTRIBUTE BY
描述
根据输入表达式对数据进行重新分区。 与 CLUSTER BY 子句不同,不会对每个分区中的数据进行排序。
语法
DISTRIBUTE BY expression [, ...]
参数
expression
任何类型的表达式。
示例 语句未生效
CREATE TABLE person (name STRING, age INT);
INSERT INTO person
VALUES ('Zen Hui', 25),
('Anil B', 18),
('Shone S', 16),
('Mike A', 25),
('John A', 18),
('Jack N', 16);
-- Reduce the number of shuffle partitions to 2 to illustrate the behavior of `CLUSTER BY`.
-- It's easier to see the clustering and sorting behavior with less number of partitions.
SET spark.sql.shuffle.partitions = 2;
SELECT age, name FROM person CLUSTER BY age;
+---------+-----------+
| age| name|
+---------+-----------+
| 16| Shone S|
+---------+-----------+
| 16| Jack N|
+---------+-----------+
| 18| Anil B|
+---------+-----------+
| 18| John A|
+---------+-----------+
| 25| Zen Hui|
+---------+-----------+
| 25| Mike A|
+---------+-----------+