本帖最后由 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
|