我们可以使用配置单元查询地图集合吗?

时间:2014-09-12 13:00:06

标签: hadoop cassandra hiveql datastax-enterprise

我在hive中有一个包含map列类型(text,int)的表。我想对该映射中的某些特定列应用一些计算。

例如:表x中的支持我有地图集合,我插入了int数据 id userid map(年龄:24,登录:12) id userid map(年龄:54,登录:13) 。 。 现在我想要用户的年龄> 15或用户登录ID的总和。

这有可能在hive查询中获得结果吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用此查询执行此操作。让我们为你的地图命名为“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)