Hive 与字符串形式的数组字段类型不同的值?
我有一个字段,其中的行如下所示:Hive 与字符串形式的数组字段类型不同的值?,hive,hiveql,Hive,Hiveql,我有一个字段,其中的行如下所示: ["apples", "pears", "grapes"] ["apples"] ["pears", "bananas", "grapes"] 当我描述mytable时,字段是字符串类型 与selectdistinct myfield相反,我正在寻找一种方法来选择拆分后的不同值,类似于: select distinct split(myfield, ',') 在Hive SQL中是否有这样做的方法?您可以用以下方法来完成。您需要替换括号,并用逗号拆分,以获得
["apples", "pears", "grapes"]
["apples"]
["pears", "bananas", "grapes"]
当我描述mytable时,字段是字符串类型
与selectdistinct myfield
相反,我正在寻找一种方法来选择拆分后的不同值,类似于:
select distinct split(myfield, ',')
在Hive SQL中是否有这样做的方法?您可以用以下方法来完成。您需要
替换
括号,并用逗号拆分
,以获得数组。之后,您可以创建阵列
select distinct(explodedfield)
from mytable
lateral view
explode(split( replace(replace(myfield,"]",""),"[","") , ",") )
f as explodedfield;
如果你想替换引号,你可以看看这个答案