Hadoop和MapReduce初识

我们生活在大数据时代!!!微博、微信、云存储等大数据的需求,Hadoop由此诞生。

以下面部分数据为例:

1)Facebook存储着约100亿张照片,约1PB存储容量;

2)纽约证券交易所每天产生1TB的交易数据。

 

数据存储与分析:

我们遇到的问题很简单:多年来的磁盘数据读取速度诶发与时俱进,而在大数据时代获取信息的时效性是比较严格的,同时大数据意味着无法把所有数据存储在同一地方,分布式文件系统HDFS(hadoop distributed FileSystem)由此衍生。MapReduce提出一个编程模型,该模型将磁盘读写的问题进行抽象,并转换成为对一个数据集(由键/ 值对组成)的计算。该计算由map和reduce两部分组成。

 

简而言之:Hadoop提供一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理。

MapReduce在与关系型数据库(RDMS)相比主要在于MapReduce主要用于一次写入多次读取,而RDMS主要是多次读写。

 

关于MapReduce

一个气象数据集,按照约定的数据格式进行存储,可以对其进行排序或者按年份获取最大气温及平均值。

在较小随机数据集中可采用简单的排序方法sort和max,average方法进行处理,但当它放在大数据集上,则需要考虑在HDFS进行map和reduce的处理。

map和reduce阶段都是以键/值作为输入和输出,大概的逻辑数据流如下:

HDFS Input -----------> map -----------> shuffle  -----------> reduce   -----------> output

                      cat           |        map.rb       |         sort            |              reduce.rb   |        output      

posted @ 2013-07-14 20:51  wang_tale  阅读(674)  评论(0编辑  收藏  举报