2

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

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

谢谢!

4

1 回答 1

4

Apache NiFi 提供了许多用于运行自定义 Java 代码的选项:

  • 外部进程- Apache NiFi 的 ExecuteProcessExecuteStreamCommand处理器可用于运行任何外部进程并将输出作为流文件内容返回。ExecuteProcess 不传递输入流,其中 ExecuteStreamCommand 通过标准输入流式传输输入流文件内容。两个处理器都接受使用 NiFi 表达式语言格式化的参数。这些处理器不关心您的进程是否是 Java,它只是作为外部进程运行。这可能是运行代码最快、最简单的方法。
  • 自定义处理器- 您还可以创建自定义处理器,以更 NiFi 原生的方式运行您的 Java 代码。这需要一些额外的工作,但如果这是一个问题,它将为大容量提供最佳性能。NiFi 开发人员指南可以提供帮助。
  • 脚本- 第三种方法是使用ExecuteScriptInvokeScriptedProcessor处理器来运行使用自定义 Java 代码的 Groovy 脚本。这是尝试将代码作为自定义 NiFi 处理器运行的好方法,而无需编写完整的处理器实现的所有开销。
于 2017-05-16T16:09:26.293 回答