Apache Spark 和 Nifi 集成

Gow*_*n V 6 apache-spark apache-nifi

我想将 Nifi 流文件发送到 Spark 并在 Spark 中进行一些转换,然后再次将结果发送回 Nifi,以便我可以在 Nifi 中进行进一步的操作。我不想将流文件写入数据库或 HDFS,然后触发 Spark 作业。我想将流文件直接发送到 Spark 并直接从 Spark 接收结果到 Nifi。我尝试在 Nifi 中使用 ExecuteSparkInteractive 处理器,但我被卡住了。任何例子都会有帮助

Bry*_*nde 8

除非它是火花流,否则您不能直接将数据发送到火花。如果是传统的批处理执行的 Spark,那么 Spark 需要从某种类型的存储(如 HDFS)中读取数据。ExecuteSparkInteractive 的目的是触发 Spark 作业以在已交付给 HDFS 的数据上运行。

如果你想走流媒体路线,那么有两种选择......

1) 直接将 NiFi 与 Spark 流集成

https://blogs.apache.org/nifi/entry/stream_processing_nifi_and_spark

2)使用Kafka集成NiFi和Spark

NiFi 写入 Kafka 主题,Spark 从 Kafka 主题读取,Spark 写回 Kafka 主题,NiFi 从 Kafka 主题读取。这种方法可能是最好的选择。