Hive 配置单元-日期格式(您的日期列&x27;%Y-%m-%d%H';)

Hive 配置单元-日期格式(您的日期列&x27;%Y-%m-%d%H';),hive,Hive,我正试图在Hive中实现与MySQL等价的date\u格式(您的\u date\u列,“%Y-%m-%d%H”)作为我的\u日期。我尝试了来自的一些选项,但无法获得正确的格式。我还没有找到任何对我有帮助的东西 我可以请一些可能已经遇到这种情况或知道如何处理的人吗?我通过使用concat(substr(your_date_column,1,13),':00')解决了这个问题。 如果date列中有一个保留关键字,如timestamp,就像我的例子一样,这是有效的-concat(substr(`tim

我正试图在Hive中实现与MySQL等价的
date\u格式(您的\u date\u列,“%Y-%m-%d%H”)作为我的\u日期。我尝试了来自的一些选项,但无法获得正确的格式。我还没有找到任何对我有帮助的东西


我可以请一些可能已经遇到这种情况或知道如何处理的人吗?

我通过使用
concat(substr(your_date_column,1,13),':00')解决了这个问题。


如果date列中有一个保留关键字,如
timestamp
,就像我的例子一样,这是有效的-concat(substr(`timestamp`,1,13),':00')

我使用
concat(substr(your_date_列,1,13),':00')


在我的例子中,如果date列有一个保留关键字,例如
timestamp
,那么它可以-concat(substr(`timestamp`,1,13),':00')

将日期转换为给定的字符串格式,您必须使用hive的
from_unixtime()
函数

from_unixtime(bigint unixtime[,string format])
将unix历元(1970-01-01 00:00:00 UTC)的秒数转换为表示当前系统时区中该时刻的时间戳的字符串

示例输入和输出可从下图中看到:

最后一个查询是

select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH') as my_date from table1;
其中table1是我的配置单元数据库中的表名


我希望这能帮助您实现日期格式(您的日期列,%Y-%m-%d%H)

要将日期转换为给定的字符串格式,必须使用hive的
from_unixtime()
函数

from_unixtime(bigint unixtime[,string format])
将unix历元(1970-01-01 00:00:00 UTC)的秒数转换为表示当前系统时区中该时刻的时间戳的字符串

示例输入和输出可从下图中看到:

最后一个查询是

select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH') as my_date from table1;
其中table1是我的配置单元数据库中的表名


我希望这能帮助您实现日期格式(您的日期列,%Y-%m-%d%H)

最新版本的Hive有一个,它只使用java格式代码而不是C。尝试
日期格式(您的日期列'yyyy-MM-dd-HH')
最新版本的Hive有一个,它只使用java格式代码而不是C。尝试
日期格式(您的日期列'yyyy-MM-dd-HH'))

假设您的表中有一个字符串格式的“出生日”列, 您应该使用以下查询来使用出生日进行筛选

date_Format(birth_day_H, 'yyyy-MM-dd HH')
您可以按以下方式在查询中使用它

select * from yourtable
where 
date_Format(birth_day_H, 'yyyy-MM-dd HH') = '2019-04-16 10';

假设您的表中有一个字符串格式的“birth\u day\u H”列, 您应该使用以下查询来使用出生日进行筛选

date_Format(birth_day_H, 'yyyy-MM-dd HH')
您可以按以下方式在查询中使用它

select * from yourtable
where 
date_Format(birth_day_H, 'yyyy-MM-dd HH') = '2019-04-16 10';