从 0 开始学大数据
李智慧
同程艺龙交通首席架构师,前 Intel 大数据架构师,《大型网站技术架构》作者
71151 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
智慧写给你的寄语 (1讲)
从 0 开始学大数据
15
15
1.0x
00:00/00:00
登录|注册

12 | 我们并没有觉得MapReduce速度慢,直到Spark出现

会产生新的分片
不会出现新的分片
转换操作
分片计算
GraphX
MLlib
Spark Streaming
Spark SQL
Spark架构核心元素
Spark编程模型
更简单易用的编程模型
更快的执行速度
通过提问发现问题本质的例子
产生洞见
共同思考问题背后的规律
迂回曲折地提出问题
逐渐摆脱平庸
避免自以为是
深度思考
观察人们的做事方式
Spark生态体系
RDD(Resilient Distributed Datasets)
Spark的优势
思考题
提问发现问题本质的技巧
问题解决专家的技巧
Spark vs MapReduce
文章主题

该思维导图由 AI 生成,仅供参考

Hadoop MapReduce 虽然已经可以满足大数据的应用场景,但是其执行速度和编程复杂度并不让人们满意。于是 UC Berkeley 的 AMP Lab 推出的 Spark 应运而生,Spark 拥有更快的执行速度和更友好的编程接口,在推出后短短两年就迅速抢占 MapReduce 的市场份额,成为主流的大数据计算框架。
读到这里请你先停一下,请给这段看似“没毛病”的引子找找问题。
不知道你意识到没有,我在这段开头说的,“Hadoop MapReduce 虽然已经可以满足大数据的应用场景,但是其执行速度和编程复杂度并不让人们满意”,这句话其实是错误的。这样说好像可以让你更加清晰地看到事物发展的因果关系,同时也可以暗示别人自己有洞察事物发展规律的能力。然而,这种靠事后分析的因果规律常常是错误的,往往把结果当作了原因
事实上,在 Spark 出现之前,我们并没有对 MapReduce 的执行速度不满,我们觉得大数据嘛、分布式计算嘛,这样的速度也还可以啦。至于编程复杂度也是一样,一方面 Hive、Mahout 这些工具将常用的 MapReduce 编程封装起来了;另一方面,MapReduce 已经将分布式编程极大地简化了,当时人们并没有太多不满。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

大数据计算框架Spark的出现对MapReduce的影响是本文的主题。文章指出人们对MapReduce执行速度和编程复杂度的不满是在Spark出现后才产生的,而非之前就存在。作者提出了“我们常常意识不到问题的存在,直到有人解决了这些问题”的定律,并强调了产品设计大师和问题解决专家的观察和分析能力。文章详细介绍了Spark相对于MapReduce的优势,包括更快的执行速度和更简单易用的编程模型。通过对Spark的编程模型RDD的解释,读者可以了解Spark相对于MapReduce的面向对象的大数据计算特点。此外,文章还提到了Spark的生态体系和对产品设计的思考方式。最后,文章呼吁在工作中不要自以为是,而是通过观察和分析来逐渐提升自己的专业能力。文章内容深入浅出,既介绍了技术特点,又强调了思考方式和工作方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学大数据》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(68)

  • 最新
  • 精选
  • 光脚的sun
    老师,现在都说flink更优秀,是不是我们直接跳过mr和spark直接学flink就行了?

    作者回复: 如果从MapReduce,spark,flink一路学过来,就会发现他们一脉相承的,如果理解了前面的,学习后面的很多地方甚至可以秒懂。 登山的时候,老司机们都走Z字形,有时候最长的路是最容易的路。

    2018-11-24
    2
    165
  • 蚂蚁内推+v
    spark优势在于迭代式的内存运算,适合于做大数据分析,机器学习之类的,flink是流式计算框架,对于实时性任务也许更好,对于机器学习内任务,spark还是要好点

    作者回复: 👍🏻

    2018-11-25
    62
  • 老男孩
    惭愧,我遇到的产品经理或者需求人员,基本上分为两类。一类经常说,这是客户的要求必须马上改,用客户来压制研发。一类比较以自我为中心,把自己的观点等同于用户的观点。常常想当然,结果用户一看不是我想要的。结果就是开发人员一次次的从坑里刚爬上来,又被产品一脚踹下去。有几次我真的无法克制,有一种想套麻袋然后一顿打的冲动。🤔非常赞同老师的观点,不管解决技术问题,还是设计产品都需要深刻的洞察力。想起前面您说的抽象是事物本质的洞察,遇到问题先猫在后面(虽然这种方式比较猥琐),冷静思考,暗中观察,从别人的方案或者错误中总结发现规律,然后顺势而为。

    作者回复: 👍🏻

    2018-11-25
    62
  • 无心乐乐
    第一次在极客写留言,感觉这个专栏的老师真的是用心良苦,不只是技术的教授,更是经验的传递。 我们常常意识不到问题的存在,直到有人解决了这些问题。 醍醐灌顶,受益良多!!

    作者回复: 谢谢鼓励,共勉~

    2018-11-24
    2
    42
  • Lambda
    看了一些留言,感觉大家还是”面向工具“学习,对层出不穷的”工具“,感到困惑。但是归根结底,这些工具本身还是计算机科学中很多基础概念的具象化,因此,”面向思想“学习应该是更好的一种做法。先对一种最原始的实现透彻的研究,理解其背后的思想和设计理念,然后再逐步学习后期更为先进的技术,这种学习路径应该更为有效。

    作者回复: 赞

    2018-11-26
    36
  • 张小喵
    老师,我有一个疑问,本节里面的word count示例代码,map完了直接reduce,spark中一个map操作是针对的一个RDD分片,并不是针对的所有的分片(要统计文件的所有分片),我们reduce的操作不是应该处理所有的map数据结果汇集之后的RDD吗,为何只是一个map计算的结果?

    作者回复: reduce是针对所有分片的。 但是我们程序不需要关心有多少分片,程序只关注数据处理逻辑,分片以及和分布式有关的一切都由Spark框架自己完成。

    2019-12-03
    10
  • 18601611625
    我最近也在研究Hadoop,但是有一个疑问不知道理解的对不对。Hive Hbase 都是处在HDFS上层的处理框架,而且Hbase和Hive功能基本重叠,为什么HBase不能取代Hive?

    作者回复: HBase和Hive的功能定位及设计原理完全不同,无法互相取代,详细请阅读后面Hive和HBase篇章。

    2019-09-18
    6
  • eldon
    学习java 很多人都上来就学各式框架,浮于表面,看到什么就学什么。没有好好学习基础。 我觉得无论学习什么,基础都是最关键的。只有用笨办法打牢基础才能以后快速迭代新知识!

    作者回复: 👍

    2019-01-20
    5
  • Abyte
    大数据开发处理数据过程中难免被领导提一些需求,做各种各样的报表统计。我们第一手接触数据,如果我们能再有精力投入业务,是不是也能主动做出一些老板需要的报表统计,提升自己的价值

    作者回复: 👍🏻

    2018-11-25
    5
  • 小千
    道理都是相通的,我之前做过摄影师,客户往往对想要的照片没有任何概念,当策划/拍摄/后期出好片子,客户才会说这样的片子是我想要的。反之,片子客户不满意的提问题,往往说不到点子上,比如说客户说表情不满意,其实可能是觉得照片显胖。

    作者回复: 👍🏻

    2018-11-26
    3
收起评论
显示
设置
留言
68
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部