我有一个JSON文件作为处理器的输入。像这样:
{"x" : 10, "y" : 5}
我可以对这些值进行数学运算,而不是编写自定义处理器吗?我需要做类似的事情
( x / y ) * 3
^只是一个例子。
我需要将结果保存到输出文件中。
更新: 这是我在generateFlowFile处理器中的文字:
X|Y
1|123
2|111
这是我的AVRO模式:
{
"name": "myschema",
"namespace": "nifi",
"type": "record",
"fields": [
{"name": "X" , "type": "int"},
{"name": "Y" , "type": "int"} ]
}
当我将上述类型更改为字符串时,它可以正常工作,但无法对字符串执行数学运算。
仅供参考,我在“模式访问策略”中选择了“使用模式名称属性”
答案 0 :(得分:1)
使用QueryRecord处理器。
read
传入的Json。write
以所需格式的查询结果。在查询记录处理器中将新属性添加为
sql
select ( x / y ) * 3 as div from FLOWFILE
查询记录处理器的输出流文件将采用配置的Record Writer格式。