hive中的lateral view 与explode(列转行)

hive中的lateral view 与explode(列转行)

我们某个字段A,全部由分号组成的字符串,如adfrgter@piuj.com;dfrgter1@piuj.com;dfrgter22@piuj.com
我的需要是将这个字段拆分放到某一行里面。

idemail_add
1adfrgter@piuj.com;dfrgter1@piuj.com;dfrgter22@piuj.com

转行为:
|

idnew_email_add
1adfrgter@piuj.com
1dfrgter1@piuj.com
1dfrgter22@piuj.com

其语法如下:

(select * from 表A where 字段B = 条件B) a  
lateral view explode(a.字段A, '\073') myTable as new_字段A;

值得注意的是,

  • 这里分号要使用\073代替否则无法拆分
  • lateral view 的在from之后,或者在子查询之后
  • 生成的虚拟表myTable,可自定义名字,但不可以省略不写
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值