准备好数据

此处列的关系模式是 ( 电影名,电影种类 )
概念
EXPLODE(col):将hive一列中复杂的array或者map结构拆分成多行
Lateral view:它其实就是用来和像类似explode这种UDTF函数联用的,lateral view 会将UDTF生成的结果放到一个虚拟表中,然后这个虚拟表会和原本的数据表每个id做jion,来达到将UTDF中的数据分开
这个UTDF函数将原始表中的一行中的一个属性拆开成虚拟表,这个虚拟表和原始表的关系就如下:
原始表
(电影名,类型)
第一行:xihongshishoufu xiju,jingdian,xiao
对应经过UDTF后的虚拟表:
xihongshishoufu xiju
xihongshishoufu jingdian
xihongshishoufu xiao
对两个表做jion操作就可以获得所有的数据
格式
LATERAL VIEW udtf(expression) tableAlias(虚拟表名字) AS columnAlias(要查询的名字)
在2个地方用Lateral view:
- 在udtf前面用
- 在from baseTable后面用
实例

本文深入解析了Hive中的UDTF(User Defined Table Generating Functions)函数及其与Lateral View的配合使用,通过具体示例展示了如何将复杂的数据结构如array或map拆分为多行,以便于数据分析和处理。特别关注了EXPLODE函数和Lateral View在电影类型数据处理中的应用。
2417

被折叠的 条评论
为什么被折叠?



