我有一些格式如下:
28/04/2017 00:00:00|20550|22/05/2017 00:00:00|
我将|
设置为分隔符。对于此示例中第一行和第三行中的数据,我将timestamp
作为数据类型放在HUE中,但我得到null
作为答案。
我环顾四周,在我看来Hive支持Unix格式时间戳(来自this之类的地方)
但是,我得到了一个"无效的日期"消息(到目前为止,我是用HUE做的,我还是使用这种技术的新手)。如果我尝试将此数据设为String,我可以看到值,但是当我尝试使用to_date()
时问题仍然存在。
有什么我忽略的吗?
答案 0 :(得分:2)
唯一支持的时间戳格式为yyyy-MM-dd HH:mm:ss
,可选秒数
其他任何东西都应该被读作字符串并稍后转换。
with t as (select '28/04/2017 00:00:00' as mydate)
select from_unixtime(to_unix_timestamp (mydate,'dd/MM/yyyy HH:mm:ss'))
from t
2017-04-28 00:00:00