Как использовать HIVE / SQL для запроса некоторых значений в массиве и подсчета общего количества?

#sql #hive

#sql #улей

Вопрос:

У меня есть эта таблица со многими записями с одним разделом, который выглядит следующим образом:

 {"user":{
         "id": "ABC123"
         "color": "green"}}
 

Скажем, я хочу подсчитать, сколько пользователей имеют цвет «зеленый» и цвет «красный». Как бы я это сделал? Я думаю, что мне нужно использовать lateral view explode(user) first, но я не смог заставить свой запрос работать.

Ответ №1:

Вы можете выбрать цвет, используя точечную нотацию. Не нужно ничего взрывать.

 select user.color, count(1) from table group by user.color