DataFrame 输入的 JOLT 规范 (NiFi JoltTransformJson)

JOLT Spec for DataFrame input (NiFi JoltTransformJson)

你能帮我写下 JOLT 规范吗?

输入JSON:

{
  "a": "1",
  "b": "2",
  "c": "3",
  "d": "4"
}

我需要得到输出:

{
  "columns": ["a","b","c","d"],
  "data": [[1,2,3,4]]
}

您可以使用下面的 shift 转换:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "columns",
        "@": "data[0]"
      }
    }
  }
]

如果数据数组的元素必须严格为整数类型,那么也需要modify-overwrite-beta转换,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=toInteger"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "columns",
        "@": "data[0]"
      }
    }
  }
]