最近用到关于处理数组的,贴了出来。
测试表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