gpt4 book ai didi

hadoop - Hive中的Javascript日期转换

转载 作者:行者123 更新时间:2023-12-02 18:57:34 24 4
gpt4 key购买 nike

我有一个日期列作为MMMM Do YYYY, HH:mm:ss.SSS中的字符串数据类型

(December 16th 2019, 21:30:22.000)格式。

我正在尝试将其转换为hive中的时间戳数据类型,但无法实现它,因为unixtime中不提供此格式。

有什么办法可以将其转换为 hive 吗?

最佳答案

此方法将保留毫秒精度。首先使用正则表达式仅提取与SimpleDateFormat模式兼容的部分,然后转换为日期时间,以毫秒(在unix_timestamp转换后损失的毫秒数)concat并转换为时间戳:

select timestamp(concat(from_unixtime(unix_timestamp(dt,'MMM dd yyyy HH:mm:ss.SSS')),'.',split(dt,'\\.')[1]))
from
(select regexp_replace('December 16th 2019, 21:30:22.001','([A-Za-z]+ \\d{1,2})[a-z]{0,2} (\\d{4}), (\\d{2}:\\d{2}:\\d{2}\\.\\d+)','$1 $2 $3') as dt --returns December 16 2019 21:30:22.001
) s;
OK
2019-12-16 21:30:22.001
Time taken: 0.09 seconds, Fetched: 1 row(s)

关于hadoop - Hive中的Javascript日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59367303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com