数据处理奇技巧——hive篇
1、pmod(int a, int b):返回a除以b的余数的绝对值; cast(aaa as int):将string转化成int; cast(aaa as decimal(10, 2)):将string转化成float,保留两位小数; 2、trim(String A):去除A两侧的空格; ltrim(String A):去除左边空格; rtrim(String A):去除右边空格 select trim('abc') from lxw_dual; 3、concat_ws (separator,str1,str2,...) :根据固定的分隔符连接后侧字符串; concat_ws第一个参数是其它参数的分隔符,分隔符的位置放在要连接的两个字符串之间,分隔符可以是一个字符串,也可以是其他参数。 select concat_ws(',','11','22','33'); 11,22,33 4、collect_list/collect_set列转行函数: 在本地文件系统创建测试文件: 存储在hive表中: 按用户分组,取出每个用户每天看过的所有视频的名字: 上面结果中,由于霸王别姬李四看了两遍,所以列表中存在重复,去重处理collect_set() 突破group by限制: 还可以利用collect来突破group by的限制,hive中在group