在 Storm+Trident-ML、Storm+SAMOA 或 Spark Streaming+MLlib 之间进行选择

数据挖掘 机器学习 分类 分散式 数据流挖掘 阿帕奇火花
2021-10-02 11:27:29

我想在分布式系统中实现流式朴素贝叶斯。选择框架的最佳方法是什么。我应该选择:

  1. 单独使用 Storm 并在 Storm 拓扑中自己实现流式朴素贝叶斯。
  2. Storm + TridentML
  3. 风暴 + 萨摩亚
  4. Spark Streaming + MLlib

选择并开始工作的最佳框架集是什么。任何建议都会有很大帮助。

2个回答

如果我是你,我会选择任何我熟悉的框架并实施用例。Spark-Streaming + MLlib 应该可以工作并且是我的选择,因为它的用户群正在上升,并且它是 Apache Umbrella 下最受欢迎的项目之一,具有良好的企业业务计划。Cloudera 和 Hortonworks 都提供企业级支持。现在,理论上 Spark-Streaming 在流处理方面落后于 Storm,但该框架很酷,它为您提供了在同一框架下进行流处理、通用 map 和 reduce、图形处理和 SQL 的选项。因此,一旦您拥有将数据转换为 RDD 的管道,您就可以胜任大多数与数据分析相关的常见工作。它' s 是用 Scala 从头开始​​编写的,Scala 是一种非常强大的语言,在处理并发时在分布式设置中提供了巨大的可扩展性。希望这会有所帮助,如有任何问题,请随时与我联系。

这取决于。如果您需要一种快速的方法来挖掘数据流并使用数据集的自适应训练,那么最好的工具是 SAMOA,因为它可以轻松地与 Storm 或 S4 流处理引擎集成。如果您只需要以快速和分布式的方式处理批处理数据,Spark MLLib 将是其中最好的解决方案。