Как заполнить таблицу Hive всеми временными метками (86400) за день - PullRequest
1 голос
/ 31 мая 2019

Я хочу таблицу улья с 4 столбцами <date,key,Timestamp,count>.Здесь Ключи могут быть кратными, число должно быть числовым 0. Мне нужны записи на каждую секунду дня для каждого ключа.Например, у меня есть 2 ключа A и B. Я хочу 86400 записей для каждого ключа в таблице.С 00:00:00 till 23:59:59

Я знаю о функции current_timestamp.Не уверен, подойдет ли он здесь.

Date, Key, Timestamp, Count
2019-05-31, A, 00:00:00, 0
2019-05-31, A, 00:00:01, 0
2019-05-31, A, 00:00:02, 0
.
.
.
2019-05-31, A, 23:59:59, 0
2019-05-31, B, 00:00:00, 0
2019-05-31, B, 00:00:01, 0
2019-05-31, B, 00:00:02, 0
.
.
.
2019-05-31, B, 23:59:59, 0

1 Ответ

2 голосов
/ 31 мая 2019

Этот запрос произведет необходимые временные метки:

 select from_unixtime(unix_timestamp('2019-05-31 00:00:00')+i) as ts from (select posexplode(split(space(86399),' ')) as (i,x))s

Присоединитесь к нему и, если вам нужна дата и время отдельно, используйте подстроку.

...