我正在尝试制作实时分析应用程序。我需要遵循的整个过程是:Logstash抽取.log数据文件到kafka生产者主题,kafka生产者发送到kafka消费者主题。然后,在此之后我需要Spark应该读取kafka消费者主题以从kafka消费者主题获取最后几分钟数据的输入以获得实时分析,同时kafka消费者应该将数据写入hdfs以供稍后的历史分析。我已经读过Spark可以从hdfs中读取但是可以直接从kafka消费者主题中激发读取?我遵循的程序是对还是不对?请建议我。
答案 0 :(得分:2)
是。首先,你的想法是可能的。但是,您可能还必须考虑Spark-stream的性能。由于Spark-stream在微批处理环境中工作,没有实时系统,火花流有时会很慢。如果你想获得更好的性能,那么使用flink会更好。
另见: flink-streaming
答案 1 :(得分:1)
是的,您可以直接从Spark阅读。只需阅读Spark文档:https://spark.apache.org/docs/latest/streaming-kafka-integration.html