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