Apache spark KStreams+;火花流+;机器学习
我正在做一个POC,用于在数据流上运行机器学习算法。Apache spark KStreams+;火花流+;机器学习,apache-spark,machine-learning,apache-kafka,spark-streaming,apache-kafka-streams,Apache Spark,Machine Learning,Apache Kafka,Spark Streaming,Apache Kafka Streams,我正在做一个POC,用于在数据流上运行机器学习算法。 我最初的想法是获取数据,使用 火花流-->聚合多个表中的数据-->在数据流上运行MLLib-->生成输出 但我穿越了KStreams。现在我很困惑 问题: 1.Spark流媒体和Kafka流媒体有什么区别? 2.如何将KStreams+Spark流媒体+机器学习结合起来? 3.我的想法是对测试数据进行连续培训,而不是进行批量培训 ApacheKafka Streams是一个库,提供可嵌入的流处理引擎,在Java应用程序中很容易使用它进行流处理
我最初的想法是获取数据,使用 火花流-->聚合多个表中的数据-->在数据流上运行MLLib-->生成输出 但我穿越了KStreams。现在我很困惑 问题:
1.Spark流媒体和Kafka流媒体有什么区别?
2.如何将KStreams+Spark流媒体+机器学习结合起来?
3.我的想法是对测试数据进行连续培训,而不是进行批量培训 ApacheKafka Streams是一个库,提供可嵌入的流处理引擎,在Java应用程序中很容易使用它进行流处理,它不是一个框架 我从卡夫卡作者那里找到了一些关于卡夫卡的使用案例,而且也很好。首先,术语“Confluent’s Kafka Streaming”在技术上是不正确的
- 微批处理(逐记录流处理无真实记录)
- 无亚秒延迟
- 有限的窗口操作
- 无事件时间处理
- 处理框架(难以操作和部署)
- ApacheSpark的一部分--数据处理框架
- 一次加工
- 逐记录流处理
- 毫秒延迟
- 富窗口操作
- 流/表对偶性
- 事件时间、摄取时间和处理时间语义
- Java库(易于运行和部署——与其他应用程序一样,它只是一个Java应用程序)
- ApacheKafka的一部分——流处理平台(即,它同时提供存储和处理)
- 至少一次加工(恰好一次加工为在制品;cf和)
- 弹性,即动态可伸缩
Kafka Streams的一个主要区别在于,它是一个库,不需要处理集群。因为它是Apache Kafka的一部分,而且如果您已经有了Apache Kafka,这可能会简化您的总体部署,因为您不需要运行额外的处理集群。我最近在一次会议上介绍了这个主题 Apache Kafka Streams或Spark Streaming通常用于通过流处理(在数据运动时处理数据)将机器学习模型实时应用于新事件。马提亚的回答已经讨论了他们之间的差异 另一方面,您首先使用apachesparkmllib(或H2O.ai或XYZ)等工具,首先使用历史数据集构建分析模型 卡夫卡流也可以用于模型的在线培训。不过,我认为在线培训有各种各样的注意事项 所有这些都将在我的幻灯片组“”中详细讨论 从流处理的角度来看,火花流和KStreams在一张图片中 强调了Spark流媒体和KStreams的显著优势,以使答案简短 Spark流媒体与KStream相比的优势:
嘿,你的答案是2016年的,如果能更新它就太好了,对于目前的情况,再次感谢你在StackOverflow上的所有答案。这个答案根本不包括Spark,但提到了Flink。。。不太切题。