我使用来自kafka主题(nested json
)的数据,该主题必须基于字段值进行过滤。
因此,我使用ExecuteScript processor
过滤出记录并转换了某些字段。
为了进行过滤,我使用了findAll
函数而不使用了QueryRecord,它起作用了。
我的问题是这种方法是否可以解决与QueryRecord处理器进行过滤的相同目的 因为当传入的流文件中存在嵌套的json对象时,我不确定如何使用查询记录。
我尝试使用queryrecord,但抛出错误:
SELECT * FROM FLOWFILE WHERE RPATH(order, '/orderDetail/orderId') = '1126'
Error:
No match found for function signature RPATH(<JavaType(...Record)>,<CHARACTER>)
org.apache.calcite.runtime.CalciteContextException
Sample Data:
{
"retail":{
"retailId":"6133",
"retailName":"Maveric"
},
"order":{
"orderDetail":{
"orderId":"1126",
"orderName":"NNDRFG"
}
}
}
答案 0 :(得分:2)
RPATH_STRING语法不正确,只是RPATH。
请参阅QueryRecord的其他详细信息文档:
它有一个带有嵌套字段的JSON示例。