我们可以使用hive查询Map集合吗

oaxa6hgo  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(382)

我在配置单元中有一个Map列类型(text,int)的表。我想对该Map中的某个特定列应用一些计算。
例如:在表x中,我有map collection,并插入int data id userid map(age:24,login:12)用户idMap(age:54,login:13) . . 现在我要的是年龄>15岁的用户数或登录id userwise的总和。
这是否可能在配置单元查询中得到结果?如何得到?提前谢谢。

dtcbnfnu

dtcbnfnu1#

你可以用这个查询。将Map命名为“user”
统计年龄>15岁的用户

hive> select count(*) from x where user['age'] > 15;

让我们合计登录次数

hive> select sum(user['login']) from x where user['age'] < 16;

如果需要将值强制转换为int,请使用:

cast(user['age'] as int)

相关问题