在Nifi和QueryRecord处理器中,我们可以添加一个新列,它是另一列的正则表达式



在Nifi和QueryRecord处理器中,我们是否可以添加一个新列,该列是查询中另一列的正则表达式?

类似:SELECT info, SUBSTRING(info, "([^s]+)") as f_name FROM FLOWFILE

我不想拆分我的流文件、ExtractText、UpdateAttributes,然后是attributesToJson和MergeContent。看起来像是一个循环,如果我们谈论每个FlowFile 400MB,每个 100k行以上,这将需要时间

输入:

{"info":"Rachel: %Robert-100-400-4444-Mrs"}
{"info":": %Martin-200-500-5555-Mr"}
{"info":"%Holand-300-600-6666-Mr"}

期望输出:

{"info":"Rachel: %Robert-100-400-4444-Mrs", "f_name":"Rachel","l_name":"Robert","area_code":100,"last_four_digit":4444,"title":"Mrs"}
{"info":": %Martin-200-500-5555-Mr", "f_name":"","l_name":"Martin","area_code":200,"last_four_digit":5555,"title":"Mr"}
{"info":"%Holand-300-600-6666-Mr", "f_name":"","l_name":"Holand","area_code":300,"last_four_digit":6666,"title":"Mr"}

QueryRecord将允许您通过LIKE(文档的"附加详细信息"页面上的示例之一(使用正则表达式过滤流文件中的记录,但要更新记录,您需要使用UpdateRecord

UpdateRecord使用RecordPath DSL语法,该语法还具有类似replaceRegexmatchesRegex的regex函数。

最新更新