【问题标题】:Use NiFi 1.5.0 processor in NiFi 1.2.0在 NiFi 1.2.0 中使用 NiFi 1.5.0 处理器
【发布时间】:2018-08-11 22:53:23
【问题描述】:

1.2.0 相比,我对下面提到的一种特定处理器感兴趣,它在 1.5.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

有人能告诉我哪个版本更好,而且我在哪里可以找到上述处理器的 nar 文件或 源代码,我不分开此处理器的 nar 文件?

【问题讨论】:

  • 肯定 nar 复制会失败。因为它是 nifi 的基本 nars 之一,它包含许多标准处理器。如果您是 Java 开发人员,creating a custom processor 并不难。来源在github

标签: apache-nifi


【解决方案1】:

在 NAR 中简单地复制可能值得一试,但在这种情况下,我很确定它不会起作用。在 1.2.0 和 1.5.0 之间有很多核心框架更改,而且标准 NAR 具有 standard-services-api NAR 作为依赖项,因此您可能还需要复制那个,等等。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多