The ниже улья команды,Hive TimeStamp для еженедельных и квартальных данных
select * from my_new_table
where month(time_stamp)= '03'
and year(time_stamp) = '2016'
and age = '1'
and gender = '0'
and income = '4'
and ethnicity = '3'
and marital_status = '1';
генерирует следующие результаты для всех данных (31 дней) в течение месяца марта (03) 2016:
time_stamp age gender income ethnicity marital_status
[email protected]:42:47.000 1 0 4 3 1
[email protected]:10:51.000 1 0 4 3 1
[email protected]:16:44.000 1 0 4 3 1
[email protected]:13:51.000 1 0 4 3 1
[email protected]7:12:51.000 1 0 4 3 1
[email protected]:24:51.000 1 0 4 3 1
[email protected]:02:06.000 1 0 4 3 1
Аналогичным образом, я хочу получить данные за 2-й квартал 2016 года (или n-й квартал, данные должны поступать в течение 3 месяцев, начиная с 1 марта по 31 мая за этот квартал) и 12-й недели (или на неделю, данные должны поступать в течение 7 дней для этой конкретной недели) 2016. Какая правильная команда Hive для этого?
Я получаю сообщение об ошибке, если я заменил month
на quarter
или week
в команде Hive.
select * from my_new_table
where quarter(time_stamp)='03'
and year(time_stamp) = '2016';
возвращает
FAILED: SemanticException [Error 10011]: Line 1:71 Invalid function 'quarter'
и
select * from my_new_table
where week(time_stamp)='12'
and year(time_stamp) = '2016';
возвращает
FAILED: SemanticException [Error 10011]: Line 1:71 Invalid function 'week'
похоже, что должен быть расчет включены в получении п-й квартал или неделю, но не уверен, , Пожалуйста помоги. Благодарю.
Это может помочь, если вы продемонстрируете команды, которые вы пробовали, и определенные ошибки, которые были сгенерированы. [Функции даты в улье] (http://www.folkstalk.com/2011/11/date-functions-in-hive.html) могут быть информативными. – showdev
выберите * from my_new_table где quarter (time_stamp) = '03' и year (time_stamp) = '2016'; FAILED: SemanticException [Ошибка 10011]: Строка 1:71 Недопустимая функция 'quarter' выберите * from my_new_table где week (time_stamp) = '12' и year (time_stamp) = '2016'; FAILED: SemanticException [Ошибка 10011]: Строка 1:71 Недействительная функция 'неделя' – Murali