我想根据一组值验证 nifi 文件字段,
例如:如果 nifi 字段 AGE 在 [7,8,9] 中,CLASS 在 [2,3,4] 中,如果不是无效记录,则认为这是有效记录
知道如何在 nifi 中实现这一点吗
我尝试了 ValidateRecord 处理器但找不到解决方案
使用
ScriptedValidateProcessor
(https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-scripting-nar/1.25.0/org.apache.nifi.processors。 script.ScriptedValidateRecord/additionalDetails.html)
示例:
输入JSON:
[{
"name": "test",
"age": 8,
"class": 3
},
{
"name": "test2",
"age": 6,
"class": 7
}
]
脚本验证处理器:
Record Reader
:JsonTreeReader
Record Writer
:JsonRecordSetWriter
Script Language
:Groovy
Script Body
:if (record.getValue("class").toInteger() >= 2 &&
record.getValue("class").toInteger() <= 4 &&
record.getValue("age").toInteger() >= 7 &&
record.getValue("age").toInteger() <= 9) {
return true;
} else {
return false;
}
输出(2 个关系 - 有效和无效):
valid
:[ {
"name" : "test",
"age" : 8,
"class" : 3
} ]
invalid
:[ {
"name" : "test2",
"age" : 6,
"class" : 7
} ]