NIFI Jolt JSON 日期转换无效

NIFI Jolt JSON date transformation not working

在 Apache NIFI 数据流中,我尝试将日期从 MM-dd-yyyy 转换为 yyyy-MM-dd(MySQL 接受的默认格式作为日期)。

在带有 DSL“链​​”的 JoltTransformJSON 1.15.0 处理器的 NIFI 高级编辑器中,我输入了:

输入Json:

{
  "Name": "Jan",
  "Birthday": "12-31-1994"
}

Transformation Jolt 脚本:

[{
    "operation": "modify-overwrite-beta",
    "spec": {
        "Birthday": "=${Birthday:toDate('MM-dd-yyyy'):format('yyyy-MM-dd')}"
    }
}]

结果:

{
  "Name": "Jan",
  "Birthday": "12-31-1994"
}

我没有收到任何语法错误。 Jolt 转换似乎没有改变任何东西。 为什么 Birthday 没有变形?

您可以在 JoltTransformJSON 处理器的规范部分

中使用以下连续规范
[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "b": "=split('-', @(1,Birthday))",
      "Birthday": "=concat(@(1,b[2]),'-',@(1,b[0]),'-',@(1,b[1]))"
    }
  },
  {
    "operation": "remove",
    "spec": {
      "b": ""
    }
  }
]

其中 用破折号拆分 当前日期值,并在第一步中使用 concat 函数重新排序。然后去掉上一步的辅助b属性