颠覆大数据分析之类似Spark的系统
Nectar (Gunda 等2010),HaLoop (Bu 等2010),以及Twister(Ekanayake等2010)都是类似于Spark的系统。HaLoop是修改后的Hadoop,它增加了一个支持循环的任务调度器以及一定的缓存机制。缓存一方面是用于缓存映射器的循环数据变量,另一方面是用于缓存归约器的输出以便使得终止条件判断可以更高效地进行。Twister提供了订阅-发布的设施来实现一个广播的结构,同时它还能在历次迭代间指定及缓存静态数据。Twister和HaLoop都是扩展MR范式以支持迭代式运算的很有意思的实现。然而它们只能算是学术项目,并没有提供稳定的实现版本。除此之外,Spark通过世系所提供的容错性要比Twister和HaLoop所提供的要更先进和高效。另一个重要的不同在于Spark的编程模型更加通用,map和reduce只是它所支持的众多结构中的一组而已。它还有许多更强大的结构,包括reduceByKey以及前面所提到的一些。
Nectar是一个面向数据中心管理的软件系统,它把数据和计算都看作是一等实体(DryadLINQ中的函数[Yu等2008]),并为这些实体提供了分布式的缓存机制。这使得在某些特定的情况下数据可以通过进行适当的运算来获得,这样就避免了频繁使用数据的重复计算。Nectar与Spark的主要不同在于Nectar不允许用户指定数据分区,也不允许用户指定哪些数据应该持久化。这些Spark都能支持,因此它的功能也更为强大。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
颠覆大数据分析之Storm简介
之前我们已经极为简单的介绍了Storm。现在我们要对它做一个更详细的了解。Storm是一个复杂事件处理引擎(CEP),最初由Twitter实现。在实时计算与分析领域,Storm正在得到日益广泛的应用。Storm可以辅助基本的流式处理,例如聚合数据流,以及基于数据流的机器学习(译者注:原文是ML,根据上下文判断,此处应是指机器学习,下文相同不再缀述)。通常情况,数据分析(译者注:原文为prestorage analytics,意义应是保存分析结果之前的分析计算)在Storm之上进行,然后把结果保存在NOSQL或关系数据库管理系统(RDBMSs)。以气象频道为例,使用Storm以并行方式处理大数据集(译者注:原文用到munging,意义应是洗数据)并为离线计算持久化它们。 下面是一些公司使用Storm的有趣方式: Storm用于持续计算,p并把处理过的数据传输给一个可视化引擎。Data Salt,一个先行者,使用Storm处理大容量数据源。Twitter采用相同的方式,将Storm作为它的发布者分析产品的基础。 Groupon也采用Storm实现了低延迟、高吞吐量的数据处理。 Yahoo采...
- 下一篇
颠覆大数据分析之Spark为Shark所提供的扩展
在Spark的RDD上执行SQL查询遵循的是传统并行数据库的三步流程: 查询解析 逻辑计划的生成 将逻辑计划映射为物理的执行计划 Shark使用Hive查询编译器来进行查询语句的解析。它会生成一棵抽象语法树,然后再将它转化成一个逻辑计划。Shark中逻辑计划的生成方式也类似于Hive中的。但两者的物理计划的生成方式则不尽相同。Hive中的物理计划是一系列的MR作业,而Shark中的则是分阶段RDD转换的一个有向无环图。由于Shark的高工作负荷的这个性质(通常在Hive中机器学习及用户定义函数(UDF)都很常见),因此在编译期很难获取到物理查询计划。对于新数据而言的确是这样的(之前还未被加载到Shark中)。值得注意的是, Hive和Shark都经常用来查询这类数据。因此,Shark引入了一个叫部分有向无环图执行(Partial DAG Execution,PDE)的概念。 部分DAG执行 这项技术会基于运行时收集的数据来生成查询语句的执行计划,而不是在编译期就去生成查询的物理执行计划。收集的数据包括分区大小,倾斜检测的记录条数,哪些记录是频繁出现的,以及RDD分区中数据分布的粗略的直...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程