说一说BDAS(Berkeley Data Analytics Stack)

TalkingData 发布于 2016/04/08 15:41
阅读 1K+
收藏 0

本文转自老阎杂货铺公众微信号,如需转载请注明出处


清明节假期之前,在大洋的彼岸,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上进行各种机器学习算法的实践了。
加载中
返回顶部
顶部