Jolt 转换 unix 纪元时间戳

问题描述 投票:0回答:1

是否可以使用 jolt 将 Unix 纪元时间戳转换为特定格式的字符串时间戳?

{
  "event": "CLICK_1",
  "time": 1736356629.9767823
}

{
  "event" : "CLICK_1",
  "time": "2025-01-08T17:17:09.976782206Z"
}
json apache-nifi jolt
1个回答
0
投票

是的,通过使用 EvaluateJsonPath 处理器导出 JSON 流文件属性后是可能的,如下所示:

EvaluateJsonPath processor

然后添加具有以下规范的 JoltTransformJSON 处理器,其中包括表达式语言的函数以呈现属性:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
        "time0": "${time:toNumber():multiply(1000):formatInstant("yyyy-MM-dd'T'HH:mm:ss", "GMT")}",
        "time1": "${time:toString():substring(11,18)}",
        "time":"=concat(@(1,time0),'.',@(1,time1),'Z')"
    }
  },
  {
    "operation": "remove",
    "spec": {
        "time*": ""
    }
  }  
]
© www.soinside.com 2019 - 2024. All rights reserved.