课程目标:

1:MapReduce的应用场景

2:MapReduce编程模型

3:MapReduce的架构

4:常见MapReduce应用场景

5:总结

MapReduce的定义

源自于Google的MapReduce论文
  发表于2004年12月
  Hadoop MapReduce是Google MapReduce克隆版
     
MapReduce特点
  易于编程
  良好的扩展性
  高容错性
  适合PB级以上海量数据的离线处理

MapReduce的特色—不擅长的方面

实时计算
    像MySQL一样,在毫秒级或者秒级内返回结果
流式计算
    MapReduce的输入数据集是静态的,不能动态变化
    MapReduce自身的设计特点决定了数据源必须是静态的
DAG计算
    多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出

MapReduce的实例一Wordcount

场景:有大量文件,里面存储了单词,且一个单词占一行

任务:如何统计每个单词出现的次数   

类似应用场景
    搜索引擎中,统计最流行的K个搜索词
    统计搜索词频率,帮助优化搜索词提示

     Case1:整个文件可以加载到内存中

     Case2:文件太大不能加载到内存中,但<word, count>可以存放到内存中;

     Case3:文件太大无法加载到内存中,且<word, count>也不行

     将问题范化为:有一批文件(规模为TB级或者PB级),如何统计这些文件中所有单词出现的次数

     方案:首先,分别统计每个文件中单词出现次数,然后累加不同文件中同一个单词出现次数

     典型的MapReduce过程
 

大数据(hadoop-Mapreduce原理架构)-LMLPHP


 

05-01 00:52