最近使用MapReduce进行数据处理时,切实体会到了其不足的地方。由于要对模型进行参数优化,需要迭代多次求精。这本是机器学习算法中非常常见的操作,但是使用MapReduce却非常难以快速高效的完成。于是将目光转向了另一个开源集群计算环境Spark。

 

http://www.oschina.net/p/spark-project

  Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

  Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

  尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

          

      hadoop 和 Spark 两种计算集群同样迭代情况下计算时间的比较

 

另一篇比较好的文章:  Spark,一种快速数据分析替代方案

http://www.ibm.com/developerworks/cn/opensource/os-spark/

转载于:https://www.cnblogs.com/xiaoxuch-zhl/archive/2012/08/08/2628373.html

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐