本文共 1484 字,大约阅读时间需要 4 分钟。
原始数据:
name | constellation | blood_type |
---|---|---|
孙悟空 | 白羊座 | A |
大海 | 射手座 | A |
宋宋 | 白羊座 | B |
猪八戒 | 白羊座 | A |
凤姐 | 射手座 | A |
现在需要把星座和血型一样的人归类到一起。结果如下:
射手座,A 大海|凤姐白羊座,A 孙悟空|猪八戒白羊座,B 宋宋
# vim person.txt孙悟空,白羊座,A大海,射手座,A宋宋,白羊座,B猪八戒,白羊座,A凤姐,射手座,A# 创建hive表hive> create table person_info(name string, constellation string, blood_type string) row format delimited fields terminated by ",";# 加载数据hive> load data local inpath "/root/person.txt" into table person_info;# 转换sqlhive> select t.base, concat_ws('|', collect_set(t.name)) from (select name, concat(constellation, ",", blood_type) as base from person_info) tgroup by t.base;# 运行结果射手座,A 大海|凤姐白羊座,A 孙悟空|猪八戒白羊座,B 宋宋
原始数据:
movie | category |
---|---|
疑犯追踪 | 悬疑,动作,科幻,剧情 |
Lie to me | 悬疑,警匪,动作,心理,剧情 |
战狼 2 | 战争,动作,灾难 |
现在需要将电影分类中的数组数据展开。结果如下:
疑犯追踪 悬疑疑犯追踪 动作疑犯追踪 科幻疑犯追踪 剧情Lie to me 悬疑Lie to me 警匪Lie to me 动作Lie to me 心理Lie to me 剧情战狼 2 战争战狼 2 动作战狼 2 灾难
vim movie_info.txt疑犯追踪 悬疑,动作,科幻,剧情Lie to me 悬疑,警匪,动作,心理,剧情战狼2 战争,动作,灾难# 创建hive 表hive> create table movie_info( movie string, category array) row format delimited fields terminated by "\t"collection items terminated by ",";# 加载数据hive> load data local inpath "/root/movie_info.txt" into table movie_info;# 转换sqlhive> select movie, category_namefrom movie_info lateral view explode(category) table_tmp as category_name;# 运行结果疑犯追踪 悬疑疑犯追踪 动作疑犯追踪 科幻疑犯追踪 剧情Lie to me 悬疑Lie to me 警匪Lie to me 动作Lie to me 心理Lie to me 剧情战狼2 战争战狼2 动作战狼2 灾难
转载地址:http://zgcmb.baihongyu.com/