美文网首页
Hadoop大数据系列三 - MapReduce

Hadoop大数据系列三 - MapReduce

作者: adasfasfasrry | 来源:发表于2017-03-05 20:22 被阅读0次

MapReduce:分布式计算框架

MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner.

Why MapReduce

如果想统计下过去10年计算机论文出现最多的几个单词,看看大家都在研究些什么,那收集好论文后,该怎么办呢?

方法一:单机执行

方法二:多线程招行

方法三:多个计算机执行

方法四:MapReduce计算框架执行

相关件:

JobClient : 提交相关mapreduce任务给JobTracker

JobTracker:任务控制中心

TaskTracker:任务执行

整体流程

Map -> Combiner -> Shuffle -> Reduce

逻辑角度分析作业运行顺序:输入分片(input split)、map阶段、combiner阶段、shuffle阶段、reduce阶段

map阶段:即执行map函数。

Combiner阶段:这是一个可选择的函数,实质上是一种reduce操作。combiner是map的后续操作,主要是在map计算出中间文件前做一个简单的合并重复key值的操作。

可以理解为在map任务在单机执行完毕后,可单独执行combiner操作

Shuffle阶段:map输出到reduce输入,包括:

    1) map端的shuffle: 针对map输出的key进行排序又叫sort阶段。

    2) reduce端的shuffle:复制数据和归并数据,最终产生一个有序的reduce输入文件。

      Shuffle过程有许多可调优的参数来提高MapReduce的性能,其总原则就是给shuffle过程尽量多的内存空间。

Reduce阶段:即执行reduce函数并将结果存储到hdfs文件系统中。

相关python streaming代码示例



关于shuffle的具体细节可参考

考资料http://langyu.iteye.com/blog/992916

相关文章

  • 大数据基础之Hadoop和Spark

    大数据基础 Hadoop背景起源一 HDFS Hadoop背景起源二 MapReduce Hadoop背景起源三 ...

  • Hadoop大数据系列三 - MapReduce

    MapReduce:分布式计算框架 MapReduce is a software framework for e...

  • 大数据学习-spark

    spark比较于Hadoop-MapReduce Hadoop 提供的 MapReduce 框架处理大数据的时候,...

  • 1. hdfs实例

    hadoop包含hdfs和MapReduce,hdfs负责数据文件存储,是hadoop的基础,MapReduce是...

  • 大数据

    基于Hadoop的数据仓库 ** Mapreduce + Hadoop Distributed File Syst...

  • 入门大数据组件

    Google三驾马车,大数据基石: GFS:存储->hdfs MapReduce:分析->hadoop Bigta...

  • hadoop概述

    大数据应用发展前景 google MapReduce hadoop

  • 大数据之Spark

    1、Spark与Hadoop Hadoop 已经成了大数据技术的事实标准,Hadoop MapReduce 也非常...

  • Hadoop概述.md

    Hadoop概述 背景 三大论文: GFS:HDFS MapReduce Bigtable:HBASE 什么是ha...

  • Hadoop基本知识点总结

    内容参考链接:慕课网--Hadoop大数据平台架构基础篇Google大数据技术(3大):MapReduce、Big...

网友评论

      本文标题:Hadoop大数据系列三 - MapReduce

      本文链接:https://www.haomeiwen.com/subject/zzsegttx.html