数据为Array
数据源:
1 子宫病损切除术,经宫腔镜|扩张和刮宫术,诊断性
2 胫骨内固定装置去除术|腓骨内固定装置去除术
3 腰椎穿刺术|腰椎穿刺术|腰椎穿刺术
创建语句
Create table testArray(name string, ssmc array<string> ) row format delimited fields terminated by '\t' collection items terminated by '|';
--拆分为多行:
select name,ss.ssmc from testArray lateral view explode(testArray.ssmc) ss as ssmc;
如数据为String:
select name,ss.ssmc from testStr lateral view explode(split(ssmc,"\\|")) ss as ssmc;
二、拆分为多列
case1---字段数据为Array
select name,ssmc[0] as ssmc1,ssmc[1] as ssmc2,ssmc[2] as ssmc3 from testArray;
case2---字段数据为String
select t.name,t.ssmcs[0] as ssmc1,t.ssmcs[1] as ssmc2,t.ssmcs[2] as ssmc3 from (
select name,split(ssmc,"\\|") as ssmcs from testArray) t