在NiFi 1.2.0中使用NiFi 1.5.0处理器

时间:2018-03-04 01:01:43

标签: apache-nifi

下面提到的一个特定处理器我感兴趣的是 1.5.0 中有一个额外功能,而 1.2.0 因此我想使用那。

处理器名称: QueryDatabaseTable

有没有办法可以升级处理器或添加此处理器而无需升级整个NiFi?

我看到有两种方法。

  1. 以上处理器存储为nifi-standard-nar-x.x.x.nar-unpacked文件。所以只需从1.5.0复制Nar并将其放在1.2.0上。我不确定在此之后,如果nifi会识别这个新的处理器版本吗?
  2. 以上处理器是以下文件的一部分,因此从中创建一个新的处理器并在1.2.0上部署它,但不确定它有多复杂。 https://github.com/apache/nifi/blob/dd58a376c9050bdb280e29125cce4c55701b29df/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/QueryDatabaseTableTest.java
  3. 有人会告诉我哪个版本会更好,而且,我可以找到上面处理器的 nar 文件或源代码,我不会这样做。为这个处理器分开nar文件?

2 个答案:

答案 0 :(得分:5)

尝试简单地复制NAR可能是值得的,但在这种情况下,我很确定它不会起作用。在1.2.0和1.5.0之间有很多核心框架更改,标准NAR也有标准服务-api NAR作为依赖项,所以你可能也需要复制那个,等等。

向后移植的一般方法是找到具有所需功能/修复的Jira案例,使用Jira中的链接获取添加/修复它的Github Pull Request,然后从基线创建分支( nifi-1.2.0,例如)和樱桃挑选提交。如果更改是针对单个捆绑包,则可以简单地从其捆绑目录(例如,nifi-standard-bundle)中的POM构建该NAR。然后,您可以将现有的NAR替换为您构建的NAR,从而创建一种“修补程序NAR”。

答案 1 :(得分:0)

我认为这主要是对现有答案的补充,但是通常可以创建新的处理器。因此,明智的做法是创建一个与新的(或相似的)相同的“ QueryDatabaseTable2”处理器。