我使用来自kafka主题(nested json
)的数据,这些数据必须根据字段值进行过滤。因此,我使用ExecuteScript processor
过滤掉记录并转换一些字段。对于过滤,我在没有使用QueryRecord的情况下使用了findAll
函数,它起作用了。
这里我的问题是,这种方法是否解决了与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"
}
}
}
发布于 2019-05-22 03:00:51
RPATH_STRING不是正确的语法,它只是RPATH。
请参阅QueryRecord的其他详细信息文档:
它有一个带有嵌套字段的JSON示例。
https://stackoverflow.com/questions/56244788
复制相似问题