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
Другие вопросы по тегам