Spark是一个由加州大学伯克利分校(UCBerkeleyAMP)开发的一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilientdistributeddatasets),提供了比Hadoop更加丰富的MapReduce模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图计算算法。

Spark使用Scala开发,使用Mesos作为底层的调度框架,可以和hadoop和Ec2紧密集成,直接读取hdfs或S3的文件进行计算,并把结果写回hdfs或S3,是Hadoop和Amazon云计算生态圈的一部分。

Spark的第一个版本是2011年5月份发布,到如今已经1年。去年下半年有段时间国内比较活跃,豆瓣基于它克隆了一个DPark,但是不支持hdfs的读取,后来又沉寂下去。原因之一是0.4版本的Spark,基于的mesos版本太低,稳定性不足,而本身也尚未成熟,一旦部署会发现颇多问题。经过半年的开发者不断努力,昨天(6月12日)发布的0.5.0正式版本,有了不小的提升,而且基于的mesos版本也升级为0.9正式版,稳定性可以支持生产级别。

有鉴于此,开始将最近研究的一些心得,分成几个随谈系列发布,希望对Spark在业界的应用,有良好的促进作用,为基于大数据的快速数据挖掘,提供多一种优秀的解决方案。

随谈分成6个部分

一、总体框架

二、安装攻略

三、开发指南

四、寻找Scala语法糖

五、核心RDD模型之妙

六、链式MapReduce模型的挖掘算法

参考网址:

http://www.spark-project.org/