76

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

4

6 回答 6

91

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

希望有帮助。

于 2013-07-29T09:30:10.637 回答
54

是的......我正在使用 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 /

希望它能解决您的查询:)

于 2016-06-21T05:34:49.487 回答
21

这些函数current_datecurrent_timestamp现在在 Hive 1.2.0 及更高版本中可用,这使得代码更加简洁。

于 2015-12-11T10:23:29.357 回答
20

要仅获取不包括时间戳的当前日期:

在较低版本中,看起来 hive CURRENT_DATE 不可用,因此您可以使用(它在 Hive 0.14 上对我有用)

select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()));

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

select CURRENT_DATE;
于 2016-08-03T04:42:54.120 回答
10
select from_unixtime(unix_timestamp(current_date, 'yyyyMMdd'),'yyyy-MM-dd');

current_date - 当前日期

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

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

于 2018-01-18T15:20:11.827 回答
6

从当前日期提取年份

SELECT YEAR(CURRENT_DATE())

IBM Netezza

extract(year from now())

蜂巢

SELECT YEAR(CURRENT_DATE())
于 2017-06-28T06:18:36.253 回答