赞
踩
Hive集合函数 collect_set 和 collect_list 使用示例
在Hive中, collect_set 和 collect_list 是用于收集数据并将其存储为集合的聚合
函数。以下是它们的语法:
1. collect_set(expression)
- expression : 要收集的数据表达式。
collect_set 函数用于将指定列中的唯一值收集到一个集合中,并去除重复值。
2. collect_list(expression)
- expression : 要收集的数据表达式。
collect_list 函数用于将指定列中的所有值按照顺序收集到一个列表中,保留所有值的顺序。
这两个函数通常用于在聚合查询中收集数据,以便在结果集中以集合的形式表示。
CREATE TABLE student_scores
(
id INT,
name STRING,
score INT,
group_name STRING
);
INSERT OVERWRITE TABLE student_scores
VALUES (1, 'Jack', 96, 'A组'),
(2, 'John', 90, 'A组'),
(5, 'Lucy', 97, 'A组'),
(4, 'Caocao', 96, 'B组'),
(3, 'Lvbu', 99, 'B组');
SELECT collect_set(group_name) AS unique_groups FROM student_scores;
执行结果:
['A组', 'B组']
代码如下:
SELECT collect_list(name) AS all_student_names FROM student_scores;
执行结果:
['Jack', 'John', 'Lucy', 'Caocao', 'Lvbu']
综上所述, collect_set 适用于获取唯一值和数据去重的场景,而 collect_list 适用于保留所有值和数据聚合的情况。根据具体需求和数据处理目标,选择合适的函数来实现数据的聚合和处理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。