hive 数组和string互转

看了一些人写的hive数组和string互转的文章简直就是坑爹胡扯, 所以还是写一个靠谱点的例子

数组转string

使用函数:concat_ws(',',collect_set(column))  

说明:collect_list 不去重,collect_set 去重。collect_list ,collect_set 产生的是一个数组对象 ["grey","black"] ,  concat_ws 把数组对象转成 字符串 ,  column的数据类型要求是string

select user_id,

concat_ws(',',collect_list(order_id)) as order_value from col_lie

group by user_id

limit 10;

//结果(简写)

user_id    order_value

104399    1715131,2105395,1758844,981085,2444143

srign 转数组

 split('a,b,c,d,e,f,g',',')

问为啥要把数组转string ?

select
concat( '(\'' , concat_ws('\',\'' ,(collect_set( 问题字段 ) )) ,'\')' )
from
查询

一个简单的使用就是 用上面这一段排查明细的时候 是不是拷贝出结果

然后给到别人就是 一个 ('问题值1','问题值2') 的样式, 需要排查问题的人直接就贴到自己的mysql 或者其他上面 一个 in后面跟上 就行了

还有就是其他具体业务运用了, 这个也有拼接好给别人直接展示的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值