如何在Hive SQL中选择当前日期

时间:2013-07-28 07:11:52

标签: hive hiveql

我们如何在Hive中获取当前系统日期?在MySQL中我们选择now(),任何人都可以帮我获取查询结果。我是Hive的新手,是否有适当的Hive文档,它提供了有关伪列和内置函数的详细信息。

6 个答案:

答案 0 :(得分:81)

根据LanguageManual,您可以使用unix_timestamp()来获取“使用默认时区的当前时间戳”。如果您需要将其转换为人类可读的内容,则可以使用from_unixtime(unix_timestamp())

希望有所帮助。

答案 1 :(得分:37)

是的...我正在使用Hue 3.7.0 - Hadoop UI并获取我们可以在Hive中的命令下使用的当前日期/时间信息:

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 /

希望它能解决您的疑问:)

答案 2 :(得分:16)

现在,Hive 1.2.0及更高版本中提供了current_datecurrent_timestamp函数,这使得代码更加清晰。

答案 3 :(得分:15)

仅提取当前日期,不包括时间戳:

在较低版本中,看起来像hive CURRENT_DATE不可用,因此你可以使用(它在我的Hive 0.14上工作)

select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()));

在更高版本中说hive 2.0,你可以使用:

select CURRENT_DATE;

答案 4 :(得分:2)

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

current_date - 当前日期

yyyyMMdd - 我的系统当前日期格式;

yyyy-MM-dd - 如果您希望将格式更改为差异格式。

答案 5 :(得分:1)

从当前日期提取年份

SELECT YEAR(CURRENT_DATE())

IBM Netezza

extract(year from now())

HIVE

SELECT YEAR(CURRENT_DATE())