一百一十、Hive时间转换——from_unixtime踩坑(不要用from_unixtime,而是用from_utc_timestamp)

2023-05-16

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)
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一百一十、Hive时间转换——from_unixtime踩坑(不要用from_unixtime,而是用from_utc_timestamp) 的相关文章

随机推荐