首页 > 解决方案 > 如何使用 unix_timestamp 和 from_unixtime Hive 函数将数据类型更改为时间戳

问题描述

from_unixtime(unix_timestamp(CAST(arrival_time as TIMESTAMP),"yyyy-MM-dd HH:mm:ss")) as arr_time,
CAST(arrival_time as TIMESTAMP) as arrival_time

输出:

arr time                         arrival_time
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000

直接转换为时间戳给了我2020-06-15T05:20:24.000+0000 ,但我正在寻找2020-06-15 05:20:24使用unix_timestamp 和 from_unixtime Hive 函数得到的结果,但问题是数据类型仅保留为字符串,我希望数据类型作为时间戳。

我们如何创建2020-06-15 05:20:24时间戳?

标签: hiveapache-spark-sqlhiveql

解决方案


使用to_timestamp.

select to_timestamp(arrival_time) from table

推荐阅读