【编者按】作者Mikio Braun是柏林工业大学机器学习专业的博士后,他通过描述了自己对Spark逐步认识的过程,为我们剖析了Spark的原理和应用。作为通用的并行处理框架,Spark具有类似Hadoop的一些优点,而且Spark采用了更好的内存管理,在迭代计算上具有比Hadoop更高的效率,Spark还提供了更为广泛的数据集操作类型,大大方便了用户的开发,checkpoint的应用使Spark具有很强容错能力,众多优越的性能和比Hadoop更广泛的适用面让Spark的进一步发展值得期待。


CSDN推荐:欢迎免费订阅《Hadoop与大数据周刊》获取更多Hadoop技术文献、大数据技术分析、企业实战经验,生态圈发展趋势。


以下是译文:

Apache Spark现在名声大噪。为支持Spark项目成立的 Databricks公司 从Andereessen Horowittz那里募集了1400万美元,Cloudera也已决定全力支持Spark,还有众多其它公司也积极地加入这件大事。所以我觉得这正是我应该认真了解一下这场躁动的时候。

我研究了一段时间的Scala API(用Scala写的Spark),老实说一开始我很失望,因为Spark看起来真的太不起眼了。基本的抽象是Resilient Distributed Datasets(RDDs)和基本分布式不可变集,可以基于本地文件或通过HDFS存储在Hadoop上的文件定义,提供常用的Scala-style集合操作(如映射,foreach等)。

我的第一反应是"没搞错吧,这真是基本分布式集合吗?"。相比之下Hadoop就显得丰富多了:分布式文件系统,众所周知的Map Reduce,支持所有类型的数据格式、 数据源、单元测试、聚类变量等。

其他人很快就指出还有更多,事实上Spark也提供更复杂的操作(如join、依据操作分组或规约),这样你就可以为相当复杂的数据流建模(虽然没有迭代)。

随着时间的推移我恍然大悟,原来Spark所谓的简单其实说的大多是关于Hadoop中的Java API而不是Spark本身。即使是简单的例子在Hadoop中通常也会有大量的样板代码。但从概念上讲,Hadoop非常简单,它只提供了两种基本操作:并行的映射(Map)和规约(Reduce)操作。如果用相同的方式,对表示相似分布式集合,事实上将有更小的接口(有些项目像 Scalding就是处理类似的事情,并且代码看起来很类似Spark)。

Spark实际上提供了一组重要的操作,在这一点让我信服以后,我通过这个 论文进行了更深入的研究,它描述了通用的架构。RDDs 是Spark的基本构造模块,实际上真的很像分布式不可变集。这些定义的操作(如map或foreach),容易地进行并行处理;还有join运算,需要两个RDDs和收集基于一个共同键的条目;以及依据操作规约,通过用户指定基于键的函数来聚合条目。在单词计数示例中,计数一次就将文本映射到所有的单词,然后用键对他们进行规约,以此来实现字数统计。RDDs可以从磁盘中读取,然后为提高速度而保留在内存中,他们也可以被缓存,那样你就不需要每次都重读他们。仅那样就比Hadoop快了很多,这大部分是基于磁盘的速度。

容错机制也是Spark的亮点之一。取代给中间结果进行持久化或建立检查点,Spark会记住产生某些数据集的操作序列。因此,当一个节点出现故障时,Spark会根据存储信息重新构造数据集。他们认为这样也不错,因为其他节点将会帮助重建。

所以本质上,Spark相比纯粹的Hadoop,有更小的接口(可能在将来也会变得臃肿),但有许多基于之上的项目(例如像Twitter的 Scalding)达到了类似水平的表现。其他的主要区别是Spark默认情况下是在内存中,这自然带来性能上很大的改善,甚至允许运行的迭代算法。虽然Spark已也没有内置对迭代的支持,不过,就像他们宣称的那样:只要你想要,它就可以快到让你可以进行迭代。

Spark流——微批处理的回归

Spark还配有一个流数据处理模型,这当然让我很感兴趣。还有一篇对设计总结得很漂亮的 论文。与Twitter的 Storm框架相比,Spark采用了一种有趣而且独特的办法。Storm基本上是像是放入独立事务的管道,在其中事务会得到分布式的处理。相反,Spark采用一个模型收集事务,然后在短时间内(我们假设是5秒)以批处理的方式处理事件。所收集的数据成为他们自己的RDD,然后使用Spark应用程序中常用的一组进行处理。

作者声称这种模式是在缓慢节点和故障情况下会更加稳健,而且5秒的时间间隔通常对于大多数应用已经足够快了。对于这一点,我不太确定,因为分布式计算总是很复杂,我不相信你能随意说有些东西是就比其他人的好。这种方法也很好地统一了流式处理与非流式处理部分,这一点是千真万确的。

结束语

Spark在我看来还是很有前途的,加上Spark被给予的支持和获得的关注,我坚信它将成熟起来并将在这个领域扮演更加重要的角色。当然,它不可能适用于所有场景,正如作者承认的那样,基于RDD稳定性只更改很少条目的操作就不适合。原则上,你必须对整个数据集备份,即使你只是想要更改一个条目。这可以很好地并行处理,但成本很高。copy-on-write在这里可能更有效,但是还未被实现。

最上层是在TU Berlin的研究项目,有类似的目标,然而却通过更为复杂的操作(如迭代)来发展,不仅是为了容错能力存储一系列操作,而且要将它们用于全局调度优化和平行化。

原文链接: Apache Spark: The Next Big Data Thing?(编译/毛梦琪 责编/仲浩)

转载于:https://www.cnblogs.com/NL34/p/3539690.html

对比Hadoop,Spark受多方追捧的原因相关推荐

  1. 从互联网角度出发,慧算账受客户追捧

    本文讲的是 从互联网角度出发,慧算账受客户追捧, 4月15日,由36氪与IDG联合主办的2016中国企业服务峰会在京圆满落幕,慧算账作为面向中小微企业提供记账.报税.金融一体化的服务平台受邀参加此次峰 ...

  2. a8处理器相当于骁龙几_曾受人追捧的A8处理器,放在现在是什么水平了?

    苹果在2014年发布的A8处理器在当时是一款热门产品,尽管有大量其他的soc产品,但在六年后仍然是一款热门产品.五年出生的处理器,使用20 nm台积电的工艺过程,近二十亿个晶体管,芯片集成了双核1.4 ...

  3. 网络虚拟试衣间受白领追捧

    不必逛商场搜小店,不必排队买单,沪上白领如今热衷于"网络试衣间",短短几分钟,就能上演一场场服装"真人秀".记者近日了解到,越来越多的沪上白领开始尝试" ...

  4. 学生平板电脑android,学生平板电脑哪种好(最受学生追捧的4款平板电脑)

    使用场景: 1.入手平板前需要想清楚你需要你的平板为你提供什么需求?如果你只是嫌笔记本重手机小,单纯想拿来娱乐的,那我建议你买个mini5就好了! 2.预算有限的同学也没必要非盯着iPad看,目前很多 ...

  5. 近半年内连获5家“巨头”投资,这家智能驾驶“黑马”受资本追捧

    ​(名商科技惠州产业园) 随着商用车ADAS相关功能法规标准的陆续落地执行,相关产业链企业将持续受益,市场竞争也会日趋激烈,但真正拥有技术实力的企业将顺势崛起. 此外,从预警到AEB再到后续的L2.L ...

  6. 饿了么和汉堡王打通会员体系,联合会员模式受商家追捧!

    日前,据饿了么KA(大商户)负责人透露,汉堡王已确定于本月底和饿了么打通双方的会员体系,并且商户优惠券将首次实现实体门店与外卖平台通用.据悉,这不是双方首次跨界合作了,此前还合作过IP跨界.独家套餐. ...

  7. 售卖ssr_博人传148集:SSR鸣人卡牌受追捧,“金钱之术”重现,太子被盯上

    <博人传>动画迎来第148集,剧情终于与漫画接轨,与漫画内容也没有什么太大变化,也许是早就看过漫画的原因,少了那么点激动.不过火之国大名圆市休与太子圆天斗的到来,为木叶忍者村带来一道别样的 ...

  8. 为什么自由职业受追捧?

    最近这几年,自由职业已经被各大营销号和广告吹得铺天盖地,让很多年轻人羡慕,受追捧的原因无非是以下三点: 1.自由的工作时间和地点:不需要早起挤地铁,不需要因为应酬喝到伶仃大醉,也没有磨人的老板和996 ...

  9. 财路网每日原创推送:区块链金融为何广受互联网巨头追捧?

    2018年,区块链金融无疑是最火热的名词.就在今年,京东.阿里等多家互联网巨头公司相继发布了区块链白皮书,并且也推出了许多基于区块链系统的平台,区块链金融是区块链技术在金融领域的应用,一个创新的技术问 ...

最新文章

  1. golang goroutine 协程原理
  2. js中substring和substr的用法
  3. android 图片操作
  4. Ubuntu 16.04下Caffe-SSD的应用(六)——PASCAL VOC2007数据集介绍
  5. 什么是OLAP和OLTP
  6. ipad和iphone切图_如何在iPhone和iPad上密码保护照片
  7. 修复版易支付源码可运营
  8. gim-实时通讯框架
  9. 微型orm fluentdata
  10. cad2016中选择全图字体怎么操作_PPT有哪些可以一劳永逸的操作?
  11. 最大子列和问题(PTA)
  12. hotmail手机端_如何在安卓手机上设置Hotmail?
  13. 无限乱斗哪个服务器有,《LOL》国服无限乱斗什么时候出 国服2020无限乱斗上线时间...
  14. 蓝桥杯——罗马数字转换器
  15. 软件开发,如何快速有效缩短项目周期
  16. ESP-WHO code_recognition 使用指南
  17. css icon旋转
  18. 网络,接口和数据库测试要点
  19. 应用计算机金融 pdf,2041计算机在金融业中地应用答案.pdf
  20. python文件粉碎传输,BAT版文件粉碎器

热门文章

  1. 彻底卸载MariaDB
  2. HSV与RGB之间相互转换
  3. iOS--色值转换RGB
  4. 使用PicGo+Gitee做图床
  5. 有关相位噪声的Offset Frequency
  6. ★简单明确( ̄︶ ̄)↗——百度网盘秒传链接教程(使用火狐浏览器)
  7. 大厂没有方法论(下)
  8. BZOJ 1057 棋盘制作(最大黑白相间子矩阵)
  9. Eclipse平台技术概述
  10. ERP之替代料的使用