【问题标题】:Merge flow files on condition based using nifi?使用nifi根据条件合并流文件?
【发布时间】:2018-12-07 15:51:48
【问题描述】:

我有 3 个来自同一个处理器的流文件。

FF1 -> {a:1,b:2,c:'name'}

FF2 -> {a:1,b:5,c:'fruit'}

FF3 -> {a:2,b:3,c:'abc'}

通过使用 MergeContent 处理器,我可以合并所有流文件,但我的要求是在 Key 上合并流文件。

如果我使用 Key 'a' 加入时的预期输出:

FF1 -> [{a:1,b:2,c:'name'},{a:1,b:5,c:'fruit'}]

FF2 -> [{a:2,b:3,c:'abc'}]

【问题讨论】:

    标签: apache-nifi kylo


    【解决方案1】:

    MergeContent 有一个名为“相关属性”的属性,它是流文件属性的名称,用于将具有相同属性值(您示例中的键)的流文件组合在一起。

    您需要使用 EvaluateJsonPath、ExtractText 或一些自定义脚本处理器等将字段“a”的值提取到流文件属性中,然后一旦进入“my.key”之类的属性,然后输入将“my.key”添加到相关属性属性中。

    【讨论】:

    • 我们可以在“相关属性”中给出两个属性吗?
    • @KarthikMannava 它只能是一个属性,但您可以轻松地将 UpdateAttribute 放在前面并创建一个新属性,例如 c = ${a}_${b} 现在将是组合值a和b的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多