2013-07-28 3 views
42

Как получить текущую системную дату в Hive? В MySQL мы выбрали now(), может ли кто-нибудь помочь мне получить результаты запроса. Я очень новичок в Hive, есть ли соответствующая документация для Hive, которая дает подробную информацию о псевдо столбцах и встроенных функциях.Как выбрать текущую дату в Hive SQL

ответ

65

Согласно LanguageManual, вы можете использовать unix_timestamp(), чтобы получить «текущую отметку времени, используя часовой пояс по умолчанию». Если вам нужно преобразовать это в нечто более понятное для человека, вы можете использовать from_unixtime(unix_timestamp()).

Надеюсь, что это поможет.

+3

Спасибо, Лукас, отлично работает, должен быть выбран в качестве правильного ответа. –

+0

Вы можете получить полную информацию из https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF – GihanDB

8

Функции current_date и current_timestamp теперь доступны в Hive 1.2.0 и выше, что делает код намного чище.

+0

В Hive 1.2 в дистрибутиве Cloudera не содержится функция current_date. Однако он содержит функцию unix_timestamp() – veve

19

Да ... Я использую Hue 3.7.0 - The Hadoop UI и получить текущую информацию о дате/времени, мы можем использовать следующие команды в улье:

SELECT from_unixtime(unix_timestamp()); --/Selecting Current Time stamp/ 

SELECT CURRENT_DATE; --/Selecting Current Date/ 

SELECT CURRENT_TIMESTAMP; --/Selecting Current Time stamp/ 

Однако в Impala вы обнаружите, что ниже только команда работает, чтобы получить информацию о дате/времени:

SELECT from_unixtime(unix_timestamp()); --/Selecting Current Timestamp/

Надежда это решает ваш запрос :)

10

для выборки только текущей даты исключения штампа времени:

в более низких версиях, выглядит как улей CURRENT_DATE не доступен, поэтому вы можете использовать (он работал для меня на улей 0.14)

select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP())); 

В более поздних версиях говорят улья 2.0, вы можете использовать:

select CURRENT_DATE; 
+0

, просто говоря о том, что 'current_date' avialalble, начиная с Hive 1.2.0 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions – user1314742

0

Чтобы извлечь год от текущей даты

SELECT YEAR(CURRENT_DATE()) 

IBM Netezza

extract(year from now()) 

HIVE

SELECT YEAR(CURRENT_DATE()) 
+2

имеет что-то изменился с 2013 года? Какую версию вы используете сейчас? Укажите, что-то изменилось. – ImAtWar

-1
select from_unixtime(unix_timestamp(current_date, 'yyyyMMdd'),'yyyy-MM-dd'); 

текущая_дата - текущая дата

yyyyMMdd - мои нынешние системы формата даты;

yyyy-MM-dd - если вы хотите изменить формат на diff.