Hive выберите запрос с Группой по минуте
У меня есть данные формы, как показано ниже:
hive> desc test;
no string
txdate string
hive>
hive> select * from test;
1 2014-06-01 10:12:12.100
1 2014-06-01 10:12:14.100
1 2014-06-01 10:12:16.100
1 2014-06-01 10:13:12.100
1 2014-06-01 10:14:12.100
Мне нужно сгруппировать данные, используя столбец txdate и обрезать до последней минуты. Вывод должен быть как ниже
3 2014-06-01 10:12:00
1 2014-06-01 10:13:00
1 2014-06-01 10:14:00
Может кто-нибудь помочь мне с запросом выбора Hive, чтобы решить эту проблему?
1 ответ
Мы можем использовать функцию substr(), чтобы сделать это возможным.
Запрос это:
select substr(txdate,1,16), sum(no) from test group by substr(txdate,1,16);
Результат этого запроса будет
2014-06-01 10:12 3
2014-06-01 10:13 1
2014-06-01 10:14 1