collect_set、collect_list、lateral view 、explode、json解析

1、 collect_set、collect_list
将分组中的某一列转为一个数组,collect_set去重,collect_list不去重
Select uname,collect_set(bookname) as books from student group by uname
访问:books[0],books[1],books[2]…………
2、lateral view 、explode
lateral view 与explode连用,用于把数组拆分为多行
如:
uid bookid
1 [“12”,”13”,”14”]
2 [“15”,”16”,”17”]
Select uid, bookid from booktab lateral view explode(split(bookid,”,”)) as bookid;
3、 求百分数,显示格式带“%”
(round(tea_ucount/total_usercount*100,2)||’%’)
4、 json解析
get_json_objecct(json字符串, . 关 键 字 ) 如 果 是 j s o n 数 组 , 第 二 个 参 数 为 .关键字)如果是json数组,第二个参数为 .json.[0].关键字
json_touple(json字符串,关键字,关键字,关键字,…)

你可能感兴趣的:(hive,大数据开发)