UDTF函数 explode

Hive数据转换:explode操作与侧面视图在targetType实现的应用
本文讲述了如何将Hive中的数组数据通过explode操作转化为多行,解决电影列值少于类别名列的问题。通过使用lateralview和UDTF,创建了一个虚拟表以达到目标数据结构,即一进多出的形式。

场景:

原hive数据形式

split 处理到一个Array 形式

使用explode炸开后的效果是

 explode结合侧面视图达到targeType

目标形式:

一进多出

explode 将hive 中复杂的 array 炸成多行

因为炸开后, movie 列值少于categoryname 列所以这里为了达到targetType 需要使用到侧面视图

(lateral view) 为原始表每行调用UDTF, UDTF 拆开后 侧面视图在将结果进行组合,产生一个支持别名表的虚拟表 (下面DDL中的table1是虚拟表 起别名为categoryname)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值