2016-07-22 80 views
1

如果我的表有一个类型为Map的列,我该如何过滤它?可以说我想说: -如何在HQL查询中对Map数据类型的列进行过滤

select * from mytable where col.get("key1") = 1; 

这不是句法正确的,但你明白了我在这里想要做的。什么是正确的语法来实现这一目标?

+0

[在蜂房地图类型的变量(的可能的复制HTTP ://stackoverflow.com/questions/14514669/map-type-variable-in-hive) – maxymoo

+0

不重复。您提供的链接是关于在Hive中定义地图数据类型的讨论,它不讨论如何过滤它。 Thx – Dhiraj

+1

在第一个答案 – maxymoo

回答

1

是的,你可以!参考'[]'中的地图关键元素。例如

select * from mytable where col["key"] = value; 

希望这将解决问题:)

0

您还可以使用点符号,顺便说一句:

select * from mytable where col.key = value;