使用参数从 nifi 执行一个 java 程序

Execute a java program from nifi with parameters

我想从 cassandra 数据库中获取一些术语,然后将它们作为参数发送给 java 程序,该程序将输出一些我需要保存在 cassandra 数据库中的数据。

nifi 可以吗?如果可以,应该使用哪些处理器?专门用于 java 程序的执行,因为我已经看到 cassandra 的处理器已经存在。

谢谢!

Apache NiFi 为 运行ning 自定义 Java 代码提供了许多选项:

  • 外部进程 - Apache NiFi ExecuteProcess and ExecuteStreamCommand 处理器可用于 运行 任何外部进程和 return 输出作为流文件内容。 ExecuteProcess 不传递输入流,其中 ExecuteStreamCommand 通过标准输入流式传输输入流文件内容。两个处理器都接受使用 NiFi 表达式语言格式化的参数。这些处理器不关心您的进程是否 Java,它只是 运行 作为外部进程。这可能是 运行 您的代码最快、最简单的方法。
  • Custom Processor - 您还可以创建一个自定义处理器以 运行 您的 Java 代码以更 NiFi 原生的方式。这需要一些额外的工作,但如果担心的话,将为高容量提供最佳性能。 NiFi Developer Guide 可以提供帮助。
  • 脚本 - 第三种方法是使用 ExecuteScript or InvokeScriptedProcessor 处理器来 运行 一个 Groovy 脚本,该脚本使用您的自定义 Java代码。这是将您的代码作为自定义 NiFi 处理器进行试验的好方法,而无需编写完整处理器实现的所有开销。