zoukankan      html  css  js  c++  java
  • MapReduce学习总结之简介

    执行步骤:1)准备Map处理的输入数据

                     2)Mapper处理

                     3)Shuffle

                     4)Reduce处理

                     5)结果输出

    三、mapreduce核心概念:

        1)split:交由MapReduce作业来处理的数据块,是MapReduce最小的计算单元。

                    HDFS:blocksize 是HDFS中最小的存储单元  128M
              默认情况下:他们两是一一对应的,当然我们也可以手工设置他们之间的关系(不建议)

        2)InputFormat:
        将我们的输入数据进行分片(split):  InputSplit[] getSplits(JobConf job, int numSplits) throws IOException;
        TextInputFormat: 处理文本格式的数据
        3)OutputFormat: 输出

        4)Combiner:每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量,以提高网络IO性能,是MapReduce的一种优化手段之一,Combiner的输出是Reducer的输入,Combiner绝不能改变最终的计算结果

        5)  Partitioner:是根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce task处理。默认是对key hash后再以reduce task数量取模

    一、MapReduce概述:

    1)源于Google的MapReduce论文,论文发表于2004年12月

    2)Hadoop MapReduce 是Google MapReduce的克隆版

    3)MapReduce的优点:海量数据离线处理,易开发,易运行。

    4)MapReduce的缺点:实时流计算

    二、MapReduce编程模型 word count 入门例子

    word count:统计文件中单词出现的次数

    word count mapreduce 计算流程图如下:

    执行步骤:1)准备Map处理的输入数据

                     2)Mapper处理

                     3)Shuffle

                     4)Reduce处理

                     5)结果输出

    三、mapreduce核心概念:

        1)split:交由MapReduce作业来处理的数据块,是MapReduce最小的计算单元。

                    HDFS:blocksize 是HDFS中最小的存储单元  128M
              默认情况下:他们两是一一对应的,当然我们也可以手工设置他们之间的关系(不建议)

        2)InputFormat:
        将我们的输入数据进行分片(split):  InputSplit[] getSplits(JobConf job, int numSplits) throws IOException;
        TextInputFormat: 处理文本格式的数据
        3)OutputFormat: 输出

        4)Combiner:每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量,以提高网络IO性能,是MapReduce的一种优化手段之一,Combiner的输出是Reducer的输入,Combiner绝不能改变最终的计算结果

        5)  Partitioner:是根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce task处理。默认是对key hash后再以reduce task数量取模

  • 相关阅读:
    Linux命令:sed命令
    Linux命令:grep命令 | egrep命令
    Linux命令:find命令
    bash脚本编程
    Linux命令:vi | vim命令
    Linux文件权限管理
    237. 删除链表中的节点
    160. 相交链表
    538. 把二叉搜索树转换为累加树
    543.Diameter of Binary Tree
  • 原文地址:https://www.cnblogs.com/jnba/p/10670783.html
Copyright © 2011-2022 走看看