Apache NiFi 中的条件路由

Conditional routing in Apache NiFi

我正在使用 NiFi 从 Oracle 数据库获取数据并将其中的一些数据放入 Kafka(使用处理器 PutKafka)。 示例:如果属性 "id" 包含 "aaabb"

这在 Apache NiFi 中可行吗?我该怎么做?

这个应该是可以的,流程可能是这样的...

1) ExecuteSQL 或 QueryDatabaseTable 从数据库中获取数据,这些产生 Avro

2) ConvertAvroToJson 处理器将 Avro 转换为 Json

3) 评估Json将 id 字段提取到属性中的路径

4) RouteOnAttribute 用于路由 id 属性包含 "aaabbb"

的流文件

5) PutKafka 传递来自 RouteOnAttribute

的任何匹配结果

为了补充 Bryan 的示例流程,我想向您介绍一些很棒的文档,这些文档应该有助于向您介绍 Apache NiFi。

首先,我建议查看 NiFi documentation。这是非常好的,应该有很大帮助。除了提供有关 Bryan 提到的每个处理器的详细信息外,它还为每种类型的用户提供了一般文档。

有关构建 NiFi 流程的基本介绍,请查看此 video

例如模板检查此 repo。它的根级别有一个 excel 文件,其中包含每个模板的描述和处理器列表。