Hive sql 行转列
简单的行转列
业务场景:想统计不同商品的销量
原始订单数据:
order_id(订单id) | order_info(订单商品) |
---|---|
10086 | 牙刷,毛巾,水杯,牙膏 |
第一步先把每个订单里边的商品拆出来,也就是行转列,数据转换为下边的形式:
order_id(订单id) | order_info(订单商品) |
---|---|
10086 | 牙刷 |
10086 | 毛巾 |
10086 | 水杯 |
10086 | 牙膏 |
直接贴代码:
select order_id
,order_info_split
from(
select order_id
,order_info
from table
)a
lateral view explode(split(order_info,',')) b as order_info_split
这样就实现了行转列操作