2016-07-22 81 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;