清明节假期之前,在大洋的彼岸,Strata+Hadoop World 2016在San Jose刚刚结束。对于大数据从业者来讲,这是一定要关注的一个盛会。其中有一个keynote,是Berkeley大学的Michael Franklin的关于BDAS的未来的发展的,非常值得关注,你要问我为什么? BDAS乃是伯克利大学的AMPLab打造的用于大数据的分析的一套开源软件栈,这其中包括了这两年火的爆棚的Spark,也包括了冉冉升起的分布式内存系统Alluxio(Tachyon),当然还包括著名的资源管理的开源软件Mesos。可以说Amplab最近几年引领了大数据发展的技术创新的浪潮,他们关于BDAS的未来的一些发展和技术的介绍,怎能不去关注呢?
新的BDAS
Keynotes中介绍的东西,都可以在Amplab的网站上找到,下边的图就是BDAS的技术栈:

在这整个技术栈中,最下层是资源管理层,也是广大大数据技术从业者都了解的两个技术:Amplab主导开发的Mesos和Hadoop社区的Yarn,二者各有其优缺点,笔者在去年的微信公众号也做过一些介绍,这里不详细赘述。
在资源管理层上边,则是存储层,包括了HDFS,S3,Ceph等技术,也都广为所知,Amplab在BDAS上也都是用这些广为所知的分布式文件系统来解决存储问题。但是基于分布式文件系统,Amblab则做了分布式内存系统Alluxio(以前叫做Tachyon)。关于Alluxio,国内的大数据技术从业者都已经有了不错的了解,百度用Alluxio取得了非常不错的性能的提升,TalkingData也在进行测试,期望不久的将来能够在我们的技术栈中使用上。
Succinct对于很多人可能比较陌生,它是Amplab对于压缩的数据进行高效检索的一套开源的解决方案,基本的出发点是用压缩的后缀树(compressed suffix array)来存储数据来达到高效的压缩存储和检索效率,具体的技术细节,笔者后边会单独写一篇文章介绍。
处理引擎就是Spark core了,这个不用我做更多的介绍了,国内关于Spark的文章已经多不胜数,关于RDD的技术原理基本上是面试必备了。
访问和接口层中,Spark SQL则是Spark社区这两年的重点,相关的技术资料也很多,包括DataFrame,DataSet的相关概念也逐渐的深入人心了。Spark Streaming一直有人诟病,从近期Spark的一些资料介绍看,Spark 2.0将会在Spark Streaming上有大的改进,让我们拭目以待Spark 2.0的发布吧。
BlinkDB我去年就在关注,它的出发点是用采样方式做大数据的处理,不过似乎并不活跃,在alpha 0.2.0版本都已经两年了都没有变化。
SampleClean配合Ampcrowd是进行数据清洗的开源套件,这和我们TalkingDat正在做的大禹系统有点类似,后边我也会单独进行介绍。
SparkR不用我过多介绍,是支持在Spark上运行R。GraphX则是在Spark上的图算法包,未来我相信会有越来越多的人会关注图的算法。
Splash是在Spark上的一个对随机学习算法进行并行的一个并行计算框架,支持SGD,SDCA等等。
Velox是Amplab正在开发的支持实时个性化预测的一套模型系统,在这个keynote中,Michael Franklin对Velox做了重点的介绍,可见它非常受到Amplab的重视,从源代码的描述看,它支持实时个性化预测,与Spark和KeystoneML做了集成,并且支持离线batch和在线的模型训练。具体的细节,笔者后边会专门进行专题的介绍。
KeystoneML是AmpLab为了简化构造机器学习流水线而开发的一套系统,仍旧在开发过程中。通过KeystoneML,可以方便的定义机器学习算法的pipeline,并且方便的在Spark上进行并行化处理。后边我也会单独进行KeysoneML的介绍。
MLLib不需要过多的赘述,是Spark上的机器学习算法库,很多公司已经在用MLLib在Spark上进行各种机器学习算法的实践了。
Strata+Hadoop美国圣何塞站结束了,后续笔者会逐步展开介绍一些新的技术和发展,敬请关注。 另外Strata+Hadoop在2016年来到了中国,有兴趣的可以到 http://strata.oreilly.com.cn/hadoop-big-data-cn/public/cfp/457 去看看。




