与字符串的数组查​​找字段类型不同的值?

时间:2018-10-15 20:17:37

标签: hive hiveql

我有一个字段,其中的行看起来像这样:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

当我执行menu = new QMenu(this); 时,该字段是字符串类型。

menu = new QMenu; 相对,我正在寻求一种在拆分后选择不同值的方法,例如:

["apples", "pears", "grapes"]
["apples"]
["pears", "bananas", "grapes"]

在Hive SQL中有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式进行操作。您将需要replace的括号和split的逗号来获取数组。之后,您可以explode您的数组。

select distinct(explodedfield) 
from mytable 
lateral view 
explode(split( replace(replace(myfield,"]",""),"[","") , ",") ) 
f as explodedfield;

如果您也想替换引号,则可以查看此答案How do we convert a string into Array in hive?