大数据Spark企业级实战版【学习笔记】----Tachyon& BlinkDB&Akka

来源:互联网 发布:java中九九乘法表算法 编辑:程序博客网 时间:2024/05/18 19:21

8. Tachyon

       Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和MapReduce那样。通过信息继承、内存侵入,Tachyon获得了高性能。Tachyon工作集文件缓存在内存中,并且让不同的Jobs/Queries以及框架都能以内存的速度来访问缓存文件。因此,Tachyon可以减少那些需要经常使用的数据集通过访问磁盘来获得的次数。Tachyon兼容Hadoop,现有的Spark和MR程序不需要任何修改即可运行,Tachyon与大数据构建的技术堆栈如图1-18所示:

      

 Tachyon的几个特性如下:

Ø  JAVA-Like File API----Tachyon提供类似Java File类的API;

Ø  兼容性---Tachyon实现了HDFS接口,所以Spark和MR程序不需要任何修改即可运行;

Ø  可插拔的底层文件系统----Tachyon是一个可插拔的底层文件系统,提供容错功能。Tachyon将内存数据记录在底层文件系统中。它有一个通用的接口,使得其可以很容易地插入到不同的底层文件系统中。目前支持HDFS、S3、GlusterFS和单节点的本地文件系统,未来将支持更多的文件系统。

9. BlinkDB

       BlinkDB是一个用于在海量数据上运行交互式SQL查询的大规模并行查询引擎。它允许用户通过权衡数据精度来提升查询响应时间,其数据的精度被控制在允许的误差范围内。BlinkDB有两个核心思想:

n  自适应优化框架---原始数据随着时间的推移建立并维护一组多维样本;

n  动态样本选择策略---基于查询的准确性和响应时间需求来选择一个适当大小的样本。

BlinkDB的架构如图1-19所示:


10. Akka

       Akka是一个平台,灵感来自于ERlang却使用Scala语言实现,能更轻松地开发可扩展,实现多线程安全应用。虽然在大多数流行的语言中并发是基于多线程之间的共享内存,使用同步方法防止写争夺,但Akka提供的并发模型基于Actors。Actors是一个轻量级的对象,通过发送消息实现交互。每个Actors在同一时间处理最多一个消息,可以发送消息给其他Actors。

       Akka具体架构如图1-20、1-21、1-22所示:


阅读全文
0 0
原创粉丝点击