Storm是一个开源的分布式实时计算系统,它可以简单、可靠地处理大量的数据流。Storm有很多应用场景,如实时分析、在线机器学习、持续计算、分布式RPC、ETL,等等。 SparkSpark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析。Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发开发,类似于Hadoop MapReduce的通用并行计算框架,Spark基于Map Reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的Map Reduce的算法。 Spark的适用场景: Spark立足于内存计算,从而不再需要频繁的读写HDFS,这使得Spark能更好的适用于: (1) 迭代算法,包括大部分机器学习算法Machine Learning和比如PageRank的图形算法。 (2) 交互式数据挖掘,用户大部分情况都会大量重复的使用导入RAM的数据(R、Excel、python) (3) 需要持续长时间维护状态聚合的流式计算。 同时spark还有自己的机器学习库,如果学习机器学习的话,建议使用spark。 |
|