Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 与字符串形式的数组字段类型不同的值?_Hive_Hiveql - Fatal编程技术网

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;
如果你想替换引号,你可以看看这个答案