• 笔记:Hadoop权威指南 第2章 关于MapReduce


    一、并行计算遇到的问题

    1、难以将任务分成相同大小的作业块

    2、将独立进程运行的结果合并后,可能还需要进一步的处理

    3、依旧受限于一台计算机的处理能力


    二、MapReduce Job 的一些特点

    1、MapReduce  job 的定义:客户端要执行的一个工作单元,包括输入数据、MapReduce程序、配置信息。Hadoop 将Job 分成若干个小任务(task) 来执行。其中包括 map 任务和 task 任务。


    2、各进程特点:

    (1)、JobTracker 调度TaskTracker 运行任务,协调tasks,监督tasktracker,若出现失败可重新在另外一个tasktracker重新调度任务。

    (2)、将很多分片分配给Map 函数,实现负载均衡;尽量实现数据本地优化。

    (3)、Map 任务将其输出写入本地磁盘,而不是HDFS

    (4)、Reduce 不具备数据本地化优势,单个Reduce 任务的输入通常来自所有 Map 的输出

    (5)、Reduce 的任务数量是特别指定的,而并非由输入大小决定

    (6)、如果有多个Reduce 任务,每个map都会为其输出进行分区 (partion)

    (7)、Reduce 任务中,每个key 对应的 所有 value 记录会发送到同一个Reduce 中

    (8)、shuffle 混洗, 即是map 任务和Reduce 任务之间的数据流,之所以称为shuffle,因为每个Reduce的任务都会来自很多任务

    (9)、combine 可以避免map 任务和reduce 任务之间的数据传输。







  • 相关阅读:
    软件版本具体代表什么意思
    面向接口的编程
    MySQL mysqldump用法
    常见问答解答
    Perl 语言笔记
    JAVA 基础知识
    面向接口编程的基本原则
    判断文件存在与否【Linux】
    Gtk Label设置字体颜色
    解压缩路径设置【Linux】
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276218.html
Copyright © 2020-2023  润新知