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