如何在配置单元中将数组元素与字符串进行比较

v8wbuo2f  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(156)

我创建了一个具有复杂数据类型的表 array 在Hive里。查询是

create table testivr (
     mobNo string,
     callTime string,
     refNo int,
     callCat string,
     menus array <string>,
     endType string,
     duration int,
     transferNode string
     )
row format delimited 
fields terminated by ','
collection items terminated by '|'

加载的记录就像
9220276765 2011-05-01 21:26:45 29 e[“pre\u host10\u jingle\u pp-pref\u welcome\u pp-pref\u promo\u pp”,“m001:4”,“m477:3”,“m005:2”,“m090:5”,“m465:9”]rat 218 tr716
现在我需要检查数组的前两个字段是否是: PRE_HOST10_JINGLE_PPPREF_WELCOME_PP-PREF_PROMO_PP 以及 M001 .
我试过使用:

select * where menu[0] = "val1" and menu[1] = "val2"`

而且还喜欢

menu(0) = "val1" and menu(1) = "val2"

我得到了这样一个错误:
semanticexception[错误10011]:行3:0无效函数“menus”
如何比较?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题