赞
踩
Hive中collect相关的函数有 collect_list 和 collect_set。
它们都是将分组中的某列转为一个数组返回,不同的是 collect_list 不去重而 collect_set 去重。
例子:
hive中一张测试表 dual
- col1 col2
- A 1
- B 2
- A 3
- B 4
- C 5
- A 3
hive>select col1, collect_list(col2) from dual group by col1;
- 运行结果:
- A ('1','3','3')
- B ('2','4')
- C ('5')
hive>select col1, collect_set(col2) from dual group by col1;
- 运行结果:
- A ('1','3')
- B ('2','4')
- C ('5')
结论: collect_list 不去重,而 collect_set 去重
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。