一百一十、Hive时间转换——from_unixtime踩坑(不要用from_unixtime,而是用from_utc_timestamp)
1.详情
从kettle转换任务得到时间戳为13位,1683701579457。想看看这个时间戳与createTime字段的关系,于是一开始使用了from_unixtime,结果踩坑了

2.运行问题(晚8个小时)
hive> select from_unixtime(cast(1683701579457/1000 as int));
OK
2023-05-10 06:52:59
Time taken: 0.595 seconds, Fetched: 1 row(s)
问题:hive的结果比正常时间晚8个小时
3.查看Linux的时间(系统时间正常)
[root@hurys22 conf]# date
2023年 05月 10日 星期三 14:57:18 CST
Linux系统时间正常
4.解决方法(使用from_utc_timestamp)
hive> select from_utc_timestamp(1683701579457/1000,'PRC');
OK
2023-05-10 14:52:59.457
Time taken: 0.204 seconds, Fetched: 1 row(s)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
