我创建了一个具有复杂数据类型的表 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”
如何比较?
暂无答案!
目前还没有任何答案,快来回答吧!