业务背景
Hive表test_user_browse记录了用户浏览过的商品,该表的数据如下:
username | product |
---|---|
John | product_a,product_b,product_c,product_d |
Tom | product_e,product_f |
现在,想要将product字段拆分为多行。
实现方式
现在借助lateral view 和explode()来完成。
select
username,
browse_product
from pms.test_user_browse
lateral view explode(split(product, ',')) myTable as browse_product;
执行结果如下:
username | browse_product |
---|---|
John | product_a |
John | product_b |
John | product_c |
John | product_d |
Tom | product_e |
Tom | product_f |
lateral view的介绍可以参见lateral view