hive列转行

2.数据准备,表:movie_info 

6-7 数据准备

movie

category

《疑犯追踪》

悬疑,动作,科幻,剧情

Lie to me

悬疑,警匪,动作,心理,剧情

《战狼2

战争,动作,灾难

3.需求

将电影分类中的数组数据展开。结果如下:

《疑犯追踪》      悬疑

《疑犯追踪》      动作

《疑犯追踪》      科幻

《疑犯追踪》      剧情

Lie to me》   悬疑

Lie to me》   警匪

Lie to me》   动作

Lie to me》   心理

Lie to me》   剧情

《战狼2》        战争

《战狼2》        动作

《战狼2》        灾难

 

6.按需求查询数据

select

    movie,

    category_name

from

    movie_info lateral view explode(category) table_tmp as category_name;

函数说明

EXPLODE(col)hive中复杂的array或者map结构拆分成多行。

LATERAL VIEW

用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias

解释:用于和split, explodeUDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。

posted @ 2020-12-06 17:34  一叶知秋。  阅读(149)  评论(0编辑  收藏  举报