如何在NiFi中的JoltTransformJson处理器中实现IF-Else条件?

llycmphe  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(128)

谁能帮我在jolt转换中实现if else conditons
条件是:
1.如果name is nullIsEligible is false,则SSP value is 0
1.如果name is not nullIsEligible is true,则SSP_I value needs to assigned to SSP field
输入:

{
  "IsEligible" : false,
  "Name" : null,
  "SSP" : "15.00",
  "SSP_I" : "5.00"
}

预期输出:

{
  "IsEligible" : false,
  "Name" : null,
  "SSP" : "0",
  "SSP_I" : "5.00"
}

谢谢

kzipqqlq

kzipqqlq1#

您可以在modify中使用预定义的***notNull***和*isNull*函数,
shift
变换中的条件逻辑,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=toString",
      "N1": ["=notNull(@(1,Name))", "NuLl"],
      "N2": ["=isNull(@(1,Name))", "NotNuLl"],
      "Cond": "=concat(@(1,N1),'_',@(1,N2),'_',@(1,IsEligible))"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "IsEligible|Name|SSP_I": "&",
      "Cond": {
        "*NotNuLl*true": {
          "@2,SSP_I": "SSP"
        },
        "NuLl*false": {
          "#0": "SSP"
        }
      }
    }
  },
  {
    "operation": "sort"
  }
]

相关问题