Hive中数组处理

本文详细介绍了如何使用SQL语句对数组进行处理,包括切分数组为多行、将多行转换为多列以及从多列提取特定信息。通过实例演示了使用split、explode等函数对数据进行灵活操作,旨在提升数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用到关于处理数组的,贴了出来。

测试表array_test数据格式:

    a,1#&#b,1#&#c,1#&#d,1#&#e,1#&#f,1#&#g,1

利用split函数将数据切分

--第一次切分数据

create table array_test_01

(

ar array<string>  

)

insert overwrite table

select split(ar,'#&#') as ar from array_test

;

select * from array_test_01:

["a,1","b,1","c,1","d,1","e,1","f,1","g,1"]

--将切分的数据行转列

create table array_test_02

(

ar string

)

;

insert overwrite table

select explode(ar) as ar  from array_test_01;


seelct * from array_test_02;


a,1
b,1
c,1
d,1
e,1
f,1
g,1

--切分到最终结果

select split(ar,',')[0] as ar1,split(ar,',')[1] as ar2 from array_test_02;

a    1
b    1
c    1
d    1
e    1
f    1
g    1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值