代码之家  ›  专栏  ›  技术社区  ›  TMichel

NiFi SplitJSON和ExecuteSQL

  •  5
  • TMichel  · 技术社区  · 9 年前

    在NiFi流中,我希望读取JSON结构,将其拆分,使用负载执行SQL查询,最后将每个结果输出到JSON文件中。

    ExecuteSQL 加工机

    enter image description here

    1. GenerateFlowFile 处理器,JSON结构如 Custom Text

    enter image description here

    1. SplitJSON

    enter image description here

    1. ,使用 SplitJSON's ${id}

    enter image description here

    此时,我得到了一个SQL语法错误的日志错误。显然 ExecuteQuery 处理器未分析其上的表达式 SQL select query

    1 回复  |  直到 9 年前
        1
  •  10
  •   Andy    9 年前

    EvaluateJsonPath (或 ExtractText )处理器介于 SplitJson ExecuteSQL --表达式语言表达式无法计算流文件内容以进行参数替换,因此您的SQL表达式最终为 SELECT * FROM foo WHERE id = ; 这就是为什么你有语法错误。

    EvaluateJsonPath 处理器正是这样做的。只需添加一个自定义属性(单击 + 在“属性”对话框的右上角),并提取 id matched 从该处理器到 执行SQL

    EvaluateJsonPath processor with custom property