Hive中常用函数

 

1、数学函数

(1)pmod

    pmod(int a,int b) pmod(double a,double b) 返回a除b的余数的绝对值 

2、字符串函数

 (1) trim 去空格函数

trim(String A) 返回值 String

去除字符串两边的空格

select trim(' abc ') from lxw_dual;

(2)ltrim 左边去空格函数 

ltrim(String A) 返回值 String

去除字符串左边的空格

select ltrim(' abc ') from lxw_dual;

(3)rtrim 右边去空格函数 

rtrim(String A) 返回值 String

去除字符串右边的空格

select rtrim(' abc ') from lxw_dual;

(4)concat_ws (separator,str1,str2,...) 

concat_ws第一个参数是其它参数的分隔符,分隔符的位置放在要连接的两个字符串之间,分隔符可以是一个字符串,也可以是其他参数。

 select concat_ws(',','11','22','33');    11,22,33

3、collect_list/collect_set列转行函数

在本地文件系统创建测试文件 

 

存储在hive表中

按用户分组,取出每个用户每天看过的所有视频的名字

上面结果中,由于霸王别姬李四看了两遍,所以列表中存在重复,去重处理collect_set()

突破group by限制

还可以利用collect来突破group by的限制,hive中在group by查询的时候要求出现在select后面的列都必须出现在group by的后面

即select列必须作为分组依据的列,但有的时候我们想根据A分组然后随便取出每个分组中的一个B,带入到这个实验中就是按照

用户进行分组,然后随便拿出一个他看过的视频名称即可:

 

posted @ 2018-11-27 13:08  css_一米阳光  阅读(1081)  评论(0)    收藏  举报