gpt4 book ai didi

date - 如何在 Hive 中将 ISO 日期转换为 UTC 日期

转载 作者:行者123 更新时间:2023-12-02 11:38:16 25 4
gpt4 key购买 nike

我有如下 JSON 数据:我需要将该日期或 mongo_date 转换为 utc 时间戳,以便使用 Map Reduce 按照每年、每月、每周的时间线示例分析 Hive 中的数据

{
"_id" : ObjectId("51ac77050e9edcdad271ce2d"),
"company" : null,
"date" : "19760224",
"mongo_date" : ISODate("1976-02-24T00:00:00Z")

最佳答案

Hive 理解这种格式:'yyyy-MM-dd HH:mm:ss.SSS'

使用 unix_timestamp() 转换为从 1970-01-01 过去的秒数,然后使用 from_unixtime() 转换为正确的格式:

 select from_unixtime(UNIX_TIMESTAMP("2017-01-01T05:01:10Z", "yyyy-MM-dd'T'HH:mm:ss'Z'"),"yyyy-MM-dd HH:mm:ss"); 

结果:

2017-01-01 05:01:10

更新。此方法是使用regexp_replace删除Z并用空格替换T并转换为时间戳如果有必要,不使用 unix_timestamp(),这将保留毫秒:

select timestamp(regexp_replace("2019-05-17T17:03:09.775Z", '^(.+?)T(.+?)Z$','$1 $2'));

结果:

2019-05-17 17:03:09.775

关于date - 如何在 Hive 中将 ISO 日期转换为 UTC 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16956085/

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