1
如果我的表有一個類型爲Map的列,我該如何過濾它?可以說我想說: -如何在HQL查詢中對Map數據類型的列進行過濾
select * from mytable where col.get("key1") = 1;
這不是句法正確的,但你明白了我在這裏想要做的。什麼是正確的語法來實現這一目標?
如果我的表有一個類型爲Map的列,我該如何過濾它?可以說我想說: -如何在HQL查詢中對Map數據類型的列進行過濾
select * from mytable where col.get("key1") = 1;
這不是句法正確的,但你明白了我在這裏想要做的。什麼是正確的語法來實現這一目標?
是的,你可以!參考'[]'中的地圖關鍵元素。例如
select * from mytable where col["key"] = value;
希望這將解決問題:)
您還可以使用點符號,順便說一句:
select * from mytable where col.key = value;
[在蜂房地圖類型的變量(的可能的複製HTTP ://stackoverflow.com/questions/14514669/map-type-variable-in-hive) – maxymoo
不重複。您提供的鏈接是關於在Hive中定義地圖數據類型的討論,它不討論如何過濾它。 Thx – Dhiraj
在第一個答案 – maxymoo