失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 谷歌大数据的三驾马车

谷歌大数据的三驾马车

时间:2020-03-13 10:24:26

相关推荐

谷歌大数据的三驾马车

本文介绍大数据分析的鼻祖型论文“谷歌三驾马车”。这包括处理分布式数据的mapreduce、存储大量数据的gfs以及列式存储bigtable,当前流行的大数据技术都是在谷歌发表了这三大论文以后,不断的发展起来的,典型的就是Apache开源的hadoop和hbase,其中hadoop的mapreduce和hdfs的思想来源于谷歌mapreduce和gfs论文,而hbase来源于谷歌的bigtable论文。

mapreduce

介绍:MapReduce是一个处理大数据集的编程模型。它通过map函数把基于行的输入转化成不同的键值对,再通过reduce函数把这些键值对针对相同的键进行聚合,并在聚合的过程中进行相应的计算。

其中的重点是:

如何分割基于行的源文件。在map阶段如何把行数据映射成键值对。对大数据集如何进行partition。在reduce阶段如何进行响应的逻辑计算并输出结果。

其中,一个最典型的用例是给出一篇文章,计算每个单词出现的个数,起逻辑流程为:

1、把文章按照行来切分。

2、在map阶段,对每一行的每个单词构建一个键值对,键是单词本身,值是固定值"1"。

3、对map的结果进行分区,使用默认策略,通过哈希进行分区。

4、在reduce阶段,统计聚合在同一个key的值的数量,得出每个单词出现的次数。

gfs-sosp

介绍:GFS是一个分布式文件系统,用来存储大量的较大文件,它可以在廉价的硬件上实现存储文件,并做到容错性,并且针对多个客户同时访问提供比较有竞争力的性能。

其中的重点是:

把一个较大的文件切分成不同的单元块。把每一个单元块存储在ChunkServer上,并且每一块都会复制在多个ChunkServer服务器上。每一个文件包含多少块和哪些块这些元数据存储在GFS Master服务器上。这是一个低成本的分布式存储系统,用来数据量非常大的存储场景,通常为mapreduce的大数据处理模型提供输入和输出的存储系统。

bigtable-osdi06

介绍:Bigtable是一个可以管理结构化数据的分布式存储系统,它本身支持水平的横向扩展,通过使用成千上万的连接服务器,来支持PB量级的数据处理。

其中的重点是:

Chubby服务器存储SSTable根的数据信息。Tablet server的水平扩展以及分裂。SSTable的存储结构。列式存储结构,RowKey以及列簇的设计。LSM Tree的数据结构以及特点。在谷歌,网页索引,谷歌帝企鹅,谷歌财经等的数据都存储在Bigtable集群里。

MapReduce_NextGen_Architecture

介绍:在第一代mapdure的实现中,资源分配和任务监控都耦合在Master节点上,在Worker节点数增加到一定的数量级,Master节点出现了性能瓶颈,下一代MapReduce框架Yarn把资源管理器和任务管理器分离,解决了这个性能瓶颈。

如果觉得《谷歌大数据的三驾马车》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。