• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

hive collect_set等集合函数

bigdata admin 2年前 (2017-06-29) 7843次浏览 0个评论 扫描二维码

hive 工作中用到的一些函数
1. concat(string s1, string s2, string s3)
这个函数能够把字符串类型的数据连接起来,连接的某个元素可以是列值。
如 concat( name, ‘:’, score) 就相当于把 name 列和 score 列用逗号连接起来了
2. cast
用法:cast(value AS TYPE)
功能:将某个列的值显示的转化为某个类型
例子:cast(score as string ) 将 double 类型的数据转化为了 String 类型
3. contact_ws(seperator, string s1, string s2…)
功能:制定分隔符将多个字符串连接起来
例子:常常结合 group by 与 collect_set 使用
有表结构 a string , b string , c int
数据为
c d 1
c d 2
c d 3
e f 4
e f 5
e f 6
想要得到
c d 1,2,3
e f 4,5,6
语句如下
select a, b, concat_ws(‘,’ , collect_set(cast(c as string)))
from table group by a,b;

4. 上述用的到的 collect_set 函数,有两个作用,第一个是去重,去除 group by 后的重复元素,
第二个是形成一个集合,将 group by 后属于同一组的第三列集合起来成为一个集合。与 contact_ws
结合使用就是将这些元素以逗号分隔形成字符串


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明hive collect_set 等集合函数
喜欢 (7)
admin
关于作者:
互联网行业码农一枚/业余铲屎官/数码影音爱好者/二次元

您必须 登录 才能发表评论!