在NiFi流程中,我想读取JSON结构,将其拆分,使用有效负载执行SQL查询,最后将每个结果输出到JSON文件中。
但是,我在检索ExecuteSQL
处理器中拆分后的FlowFile属性值时遇到问题。
GenerateFlowFile
处理器,JSON结构为 Custom Text
SplitJSON
,将数据作为要拆分的属性ExecuteSQL
,使用SplitJSON's
有效负载属性,通过我尝试执行的查询${id}
此时,我收到了SQL语法错误的日志错误。显然,ExecuteQuery
处理器没有解析其SQL select query
属性上的表达式。
拆分JSON之后是否还有任何中间处理要完成?我想念什么?
您需要在和之间添加一个EvaluateJsonPath
(或ExtractText
)处理器-表达式语言表达式无法评估流文件的内容以进行参数替换,因此您的SQL表达式最终成为了语法错误的原因。SplitJson
ExecuteSQL
SELECT * FROM foo WHERE id = ;
表达式语言从flowfile属性读取,因此您需要将JSON内容解析为可访问的属性。该EvaluateJsonPath
处理器正是这样做的。您需要做的就是添加一个自定义属性(单击+
属性对话框右上角的),然后id
将JSON中的值提取到flowfile属性中。然后将matched
关系从该处理器连接到ExecuteSQL
处理器。
归档时间: |
|
查看次数: |
2647 次 |
最近记录: |