und*_*ood 8 machine-learning apache-kafka apache-spark spark-streaming apache-kafka-streams
我正在做一个POC,用于在数据流上运行机器学习算法.
我最初的想法是获取数据,使用
Spark Streaming - >来自多个表的聚合数据 - >在数据流上运行MLLib - >生成输出.
但是我穿过KStreams.现在我很困惑!
问题:
1.Spark Streaming和Kafka Streaming有什么区别?
2.我怎样才能结婚KStreams + Spark Streaming +机器学习?
我的想法是连续培训测试数据,而不是进行批量培训.
Mat*_*Sax 19
首先,术语"Confluent的Kafka Streaming"在技术上是不正确的.
但是,Confluent为Apache Kafka贡献了大量代码,包括Kafka Streams.
关于差异(我只强调一些主要差异,并参考互联网和文档以获取更多详细信息:http://docs.confluent.io/current/streams/index.html和http://spark.apache.org/streaming /)
Spark Streaming:
卡夫卡流
因此,没有理由"结婚" - 这是一个你想要使用的选择问题.
我个人认为,Spark不是一个很好的流处理解决方案.如果你想使用像Kafka Streams这样的库或像Apache Flink,Apache Storm或Apache Apex这样的框架(它们都是流处理的好选择)取决于你的用例(也许是个人品味)而无法在SO上回答.
Kafka Streams的一个主要区别是,它是一个库,不需要处理集群.并且因为它是Apache Kafka的一部分,并且如果您已经安装了Apache Kafka,这可能会简化您的整体部署,因为您不需要运行额外的处理集群.
Apache Kafka Steams 是一个库,提供可嵌入的流处理引擎,它很容易在 Java 应用程序中用于流处理,并且它不是一个框架。
我发现了一些关于何时使用 Kafka Streams 的用例,并且还与 Kafka 作者的 Apache flink 进行了很好的比较。
归档时间: |
|
查看次数: |
5734 次 |
最近记录: |