Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json NiFi,Jolt';"安全行动";“子字符串”;不';行不通_Json_Apache Nifi_Jolt - Fatal编程技术网

Json NiFi,Jolt';"安全行动";“子字符串”;不';行不通

Json NiFi,Jolt';"安全行动";“子字符串”;不';行不通,json,apache-nifi,jolt,Json,Apache Nifi,Jolt,我有一些日期时间标记,我假装在它之前的一刻钟把它分组 例如,我有以下数据: [ { "id": "123", "dateTime": "2020-07-08T08:49:50+02:00", "value": "1" }, { "id": "123", "dateTime&qu

我有一些日期时间标记,我假装在它之前的一刻钟把它分组

例如,我有以下数据:

[
  {
    "id": "123",
    "dateTime": "2020-07-08T08:49:50+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:14:57+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:15:15+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:36:39+02:00",
    "value": "1"
  }
]
[ {
  "id" : "123",
  "dateHour" : "2020-07-08T08",
  "minutes" : "45",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "0",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "15",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "30",
  "value" : "1"
} ]
经过一些颠簸变换后,我得到了以下数据:

[
  {
    "id": "123",
    "dateTime": "2020-07-08T08:49:50+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:14:57+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:15:15+02:00",
    "value": "1"
  },
  {
    "id": "123",
    "dateTime": "2020-07-08T13:36:39+02:00",
    "value": "1"
  }
]
[ {
  "id" : "123",
  "dateHour" : "2020-07-08T08",
  "minutes" : "45",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "0",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "15",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "30",
  "value" : "1"
} ]
这里,我有个问题。有了这个网页,我成功地用下面的代码转换了“00”中的“0”

[
{ "operation": "modify-overwrite-beta", 
  "spec": { 
    "*": { 
      "minutes": "=concat('0',@(0))" 
    } 
  } 
},
{ "operation": "modify-overwrite-beta", 
  "spec": { 
    "*": { 
      "minutes": "=substring(@(1,minutes),1,3)" 
    }
  }
}
]
预期输出(并通过网页实现):

NiFi中的实际输出:

[ {
  "id" : "123",
  "dateHour" : "2020-07-08T08",
  "minutes" : "045",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "00",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "015",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "030",
  "value" : "1"
} ]

由于某些原因,“=substring()”函数在NiFi中无法正常工作。有没有人有什么诀窍来获取字符串的最后两项?

您可以将其转换为数字并左键填充。看看是否有帮助

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "minutes": ["=toInteger", 0]
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "minutes": "=toString"
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "minutes": "=leftPad(@(1,minutes),2,'0')"
      }
    }
  }
]
输入:

[
  {
    "id": "123",
    "dateHour": "2020-07-08T08",
    "minutes": "045",
    "value": "1"
  },
  {
    "id": "123",
    "dateHour": "2020-07-08T13",
    "minutes": "00",
    "value": "1"
  },
  {
    "id": "123",
    "dateHour": "2020-07-08T13",
    "minutes": "015",
    "value": "1"
  },
  {
    "id": "123",
    "dateHour": "2020-07-08T13",
    "minutes": "030",
    "value": "1"
  }
]
输出:

[ {
  "id" : "123",
  "dateHour" : "2020-07-08T08",
  "minutes" : "45",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "00",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "15",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "30",
  "value" : "1"
} ]

我无法更新NiFi的版本。它的版本是1.7.0,函数在其中工作的processorThat也是,但在NiFi 1.7.0中不工作:(感谢您的帮助