颠覆大数据分析之类似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都能支持,因此它的功能也更为强大。

时间: 2024-09-17 19:47:42

颠覆大数据分析之类似Spark的系统的相关文章

颠覆大数据分析之Spark VS分布式共享内存系统

颠覆大数据分析之Spark VS分布式共享内存系统 译者:黄经业    购书 Spark可以看作是一个分布式共享集合系统,和Stumm和Zhou (1990)以及Nitzber和Lo (1991)所提到的传统的分布式共享内存(DSM)系统则略有不同.DSM系统允许单独读写内存,而Spark只允许进行粗粒度的RDD转换.尽管这限制了能够使用Spark的应用种类,但它对于实现高效的容错性却很有帮助.DSM系统可能会需要检查点相互协作来完成容错,比如说使用Boukerche等人(2005)所提出的协议

颠覆大数据分析之Spark弹性分布式数据集

颠覆大数据分析之Spark弹性数据集 译者:黄经业    购书 Spark中迭代式机器学习算法的数据流可以通过图2.3来进行理解.将它和图2.1中Hadoop MR的迭代式机器学习的数据流比较一下.你会发现在Hadoop MR中每次迭代都会涉及HDFS的读写,而在Spark中则要简单得多.它仅需从HDFS到Spark中的分布式共享对象空间的一次读入--从HDFS文件中创建RDD.RDD可以重用,在机器学习的各个迭代中它都会驻留在内存里,这样能显著地提升性能.当检查结束条件发现迭代结束的时候,会将

颠覆大数据分析之结论

颠覆大数据分析之结论 译者:吴京润    购书 随着Hadoop2.0到来--被称作YARN的Hadoop新版本--超越Map-Reduce的思想已经稳固下来.就像本章要解释的,Hadoop YARN将资源调度从MR范式分离出来.需要注意的是在Hadoop1.0,Hadoop第一代,调度功能是与Map-Reduce范式绑定在一起的--这意味着在HDFS上惟一的处理方式就是Map-Reduce或它的业务流程.这一点已在YARN得到解决,它使得HDFS数据可以使用非Map-Reduce范式处理.其含

颠覆大数据分析之Mesos:集群调度及管理系统

颠覆大数据分析之Mesos:集群调度及管理系统 译者:黄经业    购书 正如前面"Mesos:动机"一节中所述,Mesos的主要目标就是去帮助管理不同框架(或者应用栈)间的集群资源.比如说,有一个业务需要在同一个物理集群上同时运行Hadoop,Storm及Spark.这种情况下,现有的调度器是无法完成跨框架间的如此细粒度的资源共享的.Hadoop的YARN调度器是一个中央调度器,它可以允许多个框架运行在一个集群里.但是,要使用框架特定的算法或者调度策略的话就变得很难了,因为多个框架间

颠覆大数据分析之Storm的设计模式

颠覆大数据分析之Storm的设计模式 译者:吴京润    购书 我们将要学习如何实现基于Storm的一些通用设计模式.设计模式,我们也称之为软件工程意识,是在给定上下文环境中,针对觉设计问题的可重用的通常解决方案.(Gamma et al. 1995).它们是分布式远程过程调用(DRPCs),持续计算,以及机器学习. 分布式远程过程调用 过程调用为单机运行的程序提供了一个传输控制与数据的灵巧机制.把这一概念扩展到分布式系统中,出现了远程过程调用(RPC)--过程调用的概念可以跨越网络边界.客户机

颠覆大数据分析之Storm简介

颠覆大数据分析之Storm简介 译者:吴京润    购书 之前我们已经极为简单的介绍了Storm.现在我们要对它做一个更详细的了解.Storm是一个复杂事件处理引擎(CEP),最初由Twitter实现.在实时计算与分析领域,Storm正在得到日益广泛的应用.Storm可以辅助基本的流式处理,例如聚合数据流,以及基于数据流的机器学习(译者注:原文是ML,根据上下文判断,此处应是指机器学习,下文相同不再缀述).通常情况,数据分析(译者注:原文为prestorage analytics,意义应是保存分

颠覆大数据分析之第二章结束语

颠覆大数据分析之第二章结束语 译者:黄经业    购书 本章讨论了一些业务场景,以及它们在BDAS框架中的实现.同时还介绍了什么是BDAS框架,并重点介绍了Spark, Shark,以及Mesos.Spark在那些涉及到优化的场景中非常有用--比如说Ooyala希望基于约束条件来动态地选择最优的CDN,以便提升视频的用户体验.必须注意的是,正如第一章所说的,众所周知,约束及变量过多的优化问题是很难在Hadoop MR中解决的.随机法要更适合Hadoop.不过你应当时刻牢记一点,Hadoop很难解

颠覆大数据分析之Spark为Shark所提供的扩展

在Spark的RDD上执行SQL查询遵循的是传统并行数据库的三步流程: 查询解析 逻辑计划的生成 将逻辑计划映射为物理的执行计划 Shark使用Hive查询编译器来进行查询语句的解析.它会生成一棵抽象语法树,然后再将它转化成一个逻辑计划.Shark中逻辑计划的生成方式也类似于Hive中的.但两者的物理计划的生成方式则不尽相同.Hive中的物理计划是一系列的MR作业,而Shark中的则是分阶段RDD转换的一个有向无环图.由于Shark的高工作负荷的这个性质(通常在Hive中机器学习及用户定义函数(

颠覆大数据分析之实时分析的应用

在这一节,我们将看到构建两个应用的步骤:一个工业日志分类系统和一个互联网流量过滤应用. 工业日志分类 随新旧生产工程系统的自动化以及电子工程的发展,大量的机器之间(M2M)的数据正在被生成出来.机器之间的数据可以来自多个不同的源头,包括无线传感器,电子消费设备,安全应用,还有智能家居设备.举个例子,2004年的地震和随后的海啸造就了由海洋传感器构成的海啸预警系统.自2011年的日本东北地区的地震以来,日本已经沿火车轨道安装了许多传感器,帮助探测不寻常的地震活动以便及时关闭火车运行.GE和其它大电