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

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

译者:黄经业    购书

Spark可以看作是一个分布式共享集合系统,和Stumm和Zhou (1990)以及Nitzber和Lo (1991)所提到的传统的分布式共享内存(DSM)系统则略有不同。DSM系统允许单独读写内存,而Spark只允许进行粗粒度的RDD转换。尽管这限制了能够使用Spark的应用种类,但它对于实现高效的容错性却很有帮助。DSM系统可能会需要检查点相互协作来完成容错,比如说使用Boukerche等人(2005)所提出的协议。相反的,Spark只需要存储世系图来进行容错。恢复需要在RDD丢失的分区上进行重构操作——但这个可以并行地高效完成。Spark与DSM系统的另一个根本的不同在于,由于RDD的只读特性,Spark中可以使用流浪者缓解策略——这使得备份任务可以并行地完成,这类似于MR中的推测执行(Dinu和Ng 2012)。而在DSM中则很难缓解流浪者或者备份任务,因为这两者都可能会产生内存竞争。Spark的另一个优点是当RDD的大小超出集群的所有内存时可以优雅地进行降级。它的缺点就是RDD的转换本质上是粗粒度的,这限制了能够开发的应用的种类。比如说,需要细粒度共享状态访问的应用,像WEB爬虫或者其它WEB应用,都很难在Spark上实现。Piccolo (Power和 Li 2010)提供了一个以数据为中心的异步编程模型,这或许是这类应用的一个更好的选择。

在Spark中,开发人员调用map,filter或reduce操作时可以传入函数或者闭包。一般来说,当Spark在工作节点上运行这些函数的时候,函数使用域内的本地变量会被拷贝出来。Spark有一个共享变量的概念,它使用广播变量和累加器来模拟“全局”变量。开发人员使用广播变量一次性地将只读数据拷贝给所有的工作者。(类共轭梯度下降的算法中的静态矩阵可以使用广播变量来表示)累加器是只能由工作者来增加并由驱动程序去读取的变量——这样并行聚合可以实现成支持容错的。值得注意的是全局变量是在Spark中模仿DSM功能的一种特殊方式。 

时间: 2024-09-15 06:12:03

颠覆大数据分析之Spark VS分布式共享内存系统的相关文章

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

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

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

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

颠覆大数据分析之结论

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

颠覆大数据分析之Storm简介

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

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

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

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

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

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

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

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

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

NEC应用大数据分析技术成功研发大型设备故障监测系统

近日, IT&通信领先企业NEC应用大数据分析技术,成功开发出 "大型设备故障预兆监测系统",可应用于发电站.工厂等大型设施的故障监测. 通过该系统,操作员可从庞大的信息量里自动定义出设备的健全运行状态,通过同实时数据进行http://www.aliyun.com/zixun/aggregation/8007.html">对比分析,在设备故障前发现异状.由于在系统中融入了NEC专利的传感器信息大数据分析技术--Invariant,操作员无需进行复杂设置及专业知识