【问题标题】:Passing parameter from different source into insert statement using Nifi使用 Nifi 将来自不同源的参数传递到插入语句中
【发布时间】:2020-10-14 09:57:05
【问题描述】:

我还是 NiFi 的新手。我想要实现的是从不同的来源传递一个参数。

场景:

我有 2 个数据源,即 Json 数据和记录 ID(来自 oracle 函数)。我使用提取文本将记录 id 声明为 "${recid}" 并且 json 字符串默认为 "$1" 。

如何使用sql语句插入table1(json,recid)值('$1','${recid}')

在我运行处理器之后。我无法将这两个属性都放入一个插入语句中。

请帮忙。

Nifi flowfile Flowfile after mergecontent

【问题讨论】:

    标签: oracle apache-nifi


    【解决方案1】:

    您应该将这两个流文件合并为一个。
    使用设置了属性策略的 mergeFlowfile 处理器以保留所有唯一属性

    https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.6.0/org.apache.nifi.processors.standard.MergeContent/index.html

    【讨论】:

    • 嗨马克西姆。谢谢您的回复。我尝试过使用合并内容。属性 json 和 recid(值)都进入 1 个流文件。我的问题是如何将 json 和 recid 声明为不同的属性并将其放入 insert 语句中。请参考我附上的新截图。
    【解决方案2】:

    使用 SimpleDatabaseLookupService 查看 LookupAttribute。您可以将您的 JSON 流文件传递到其中,将 recid 查找到属性中,然后执行 ExtractText -> ReplaceText 将其转换为 SQL 表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 2016-03-26
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      相关资源
      最近更新 更多