1.4 大数据计算框架

更新于 2026年10月10日 版权声明
1.4 大数据计算框架

大数据计算框架,起源于Google公司的经典论文。由于当时网页数量急剧增加,Google公司内部要编写很多的程序来处理大量的原始数据:爬虫爬到的网页、网页请求日志等;计算各种类型的派生数据:倒排索引、网页的各种图结构等。这些计算在概念上很容易理解,但由于输入数据量很大,单机难以处理。需要利用分布式方式完成计算,并且需要考虑如何进行并行计算、分配数据和处理失败等问题。

针对这些复杂的问题,Google决定设计一套抽象模型来执行这些简单计算,并隐藏并发、容错、数据分布和均衡负载等方面的细节。受到Lisp和其他函数式编程语言Map、Reduce思想的启发,论文的作者意识到许多计算都涉及对每条数据执行Map操作,得到一批中间key/value对,然后利用Reduce操作合并那些key值相同的键值对。这种模型能很容易实现大规模并行计算。MapReduce对大数据计算的最大贡献,其实并不是它名字直观显示的Map和Reduce思想(正如上文提到的,Map和Reduce思想在Lisp等函数式编程语言中很早就存在了),而是这个计算框架可以在一群廉价的PC机上运行。MapReduce的最大贡献在于给人们普及了工业界对大数据计算的理解,它提供了良好的横向扩展性和容错处理机制,至此大数据计算由集中式过渡至分布式。以前,想对更多的数据进行计算就要制造更快的计算机,而现在只需要添加计算节点。(https://www.daowen.com)

当年的Google有三宝:MapReduce、GFS和BigTable。但Google三宝虽好,普通人想用却用不上,原因很简单:它们都不开源。于是Hadoop应运而生,初代Hadoop的MapReduce和HDFS,正是Google的MapReduce和GFS的开源实现(另一宝BigTable的开源实现则是大名鼎鼎的HBase)。自此,大数据计算处理框架的历史大幕才正式缓缓拉开。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)