分享

[Hive]Hive将一行记录拆分成多行

yuwenge 2015-6-3 23:57:00 发表于 心得体会 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 38005
本帖最后由 pig2 于 2018-4-29 10:31 编辑

业务背景
hive表test_user_browse记录了用户浏览过的商品,该表的数据如下:
username
product
John
product_a,product_b,product_c,product_d
Tom
product_e,product_f
现在,想要将product字段拆分为多行。

实现方式
现在借助lateral view 和explode()来完成。
[mw_shl_code=sql,true]select
    username,
    browse_product
from pms.test_user_browse
lateral view explode(split(product, ',')) myTable as browse_product;[/mw_shl_code]
执行结果如下:
[mw_shl_code=sql,true]username    browse_product
John        product_a
John        product_b
John        product_c
John        product_d
Tom         product_e
Tom         product_f[/mw_shl_code]

lateral view的介绍可以参见lateral view



已有(2)人评论

跳转到指定楼层
lzc868266 发表于 2015-6-4 12:00:11
很不错的帖子,楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条