gpt4 book ai didi

apache-nifi - NiFi SplitJSON 和 ExecuteSQL

转载 作者:行者123 更新时间:2023-12-03 15:57:59 28 4
gpt4 key购买 nike

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

但是,我在检索 ExecuteSQL 中拆分的 FlowFile 的属性值时遇到问题。处理器。

enter image description here

  • GenerateFlowFile处理器,JSON 结构为 Custom Text

  • enter image description here
  • SplitJSON ,以数据为要拆分的属性

  • enter image description here
  • ExecuteSQL ,对于我尝试执行的查询,使用 SplitJSON's有效载荷属性 ${id}

  • enter image description here

    此时,我收到 SQL 语法错误的日志错误。显然是 ExecuteQuery处理器未解析其 SQL select query 上的表达式属性(property)。

    拆分JSON后是否还有任何中间处理要做?我错过了什么?

    最佳答案

    您需要一个额外的 EvaluateJsonPath (或 ExtractText)处理器在 SplitJson 之间和 ExecuteSQL -- 表达式语言表达式无法评估参数替换的流文件内容,因此您的 SQL 表达式最终为 SELECT * FROM foo WHERE id = ;这就是您有语法错误的原因。

    表达式语言从流文件属性中读取,因此您需要将 JSON 内容解析为可访问的属性。 EvaluateJsonPath处理器正是这样做的。您需要做的就是添加一个自定义属性(单击属性对话框右上角的 +)并提取 id JSON 中的值转换为流文件属性。然后连接matched此处理器与 ExecuteSQL 的关系处理器。

    EvaluateJsonPath processor with custom property

    关于apache-nifi - NiFi SplitJSON 和 ExecuteSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172345/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com