zoukankan      html  css  js  c++  java
  • Hadoop基础之MapReduce

    Hadoop基础之MapReduce

    Hadoop基础之MapReduce

    MapReduce

    • MapReduce是hadoop中的一个非常重要的组件,用来处理海量数据计算的组件
    • 由来:谷歌论文"MapReduce"
    • 从论文的角度分析:MapReduce是一种思想
    • 从技术的角度分析:MapReduce是一种分布式计算框架

    软件框架与MapReduce规范

    • 软件规范
      • 软件框架(software   framework),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求的基础功能的软件产品
    • 思想上的规范
      • map
        • 最小化数据单元,并以键值对的形式传递到下一个阶段
      • reduce
        • 接收上一个阶段的数据,按照相同key进行合并数据,并且以键值对的形式输出
    • 代码的规范
      • Mapper类
        • 实现map端的思想,把数据划分成最小的数据单元,并以键值对输出
      • Reducer类
        • 实现reduce思想的代码,将key相同的value值放在一起操作
      • Driver类
        • 相当于程序的入口,在这需要制定一些泛型和使用的类等信息

    Mapper类

    • 四个泛型
      • keyIn:输入的元数据key的泛型
        • 如果是默认的文本文档是LongWritable(偏移量)
      • valueIn:输入的元数据value的泛型
        • 如果默认的文本文档就是Text(每一行数据的具体内容)
      • keyOut:输出的key的泛型
        • 根据实际情况确定
      • valueOut:输出的value的泛型
        • 根据实际情况确定
    • 四个方法
      • setUp
        • 执行mapper阶段的开始阶段,仅执行一次,一般用于初始化一些数据
      • cleanUp
        • 执行mapper阶段的结束阶段,仅执行一次,一般用于收尾工作
      • run
        • 默认的执行逻辑,如果没有特殊情况,不重写
      • map
        • 每行数据都执行一次map操作,一般来说,绝大多数的类都重写此方法

    Reduce类

    • 四个泛型
      • 输入的元数据key的泛型
        • 输入的数据key的泛型,是map端输出的泛型
      • valueIn:输入的元数据value的泛型
        • 输入的元数据value的泛型,是map端输出的泛型
      • keyOut:输出的元数据key的泛型
        • 输出的key的泛型,根据实际情况确定
      • valueOut:输出的value的泛型,根据实际情况确定
        • 输出的value的泛型,根据实际情况确定
    • 四个方法
      • setUp
        • 执行reduce阶段的开始阶段,仅执行一次,一般用于初始化一些数据
      • cleanUp
        • 执行reduce阶段的结束阶段,仅执行一次,一般用于收尾工作
      • run
        • 默认的执行逻辑,如果没有特殊情况,不重写
      • reduce
        • 每个相同的key执行一次该操作

    MapReduce序列化数据类型

    JavaMapReduce

    • 自定义序列化类型
    • 在MapReduce中,如果普通的序列化类型无法满足要求时,需要单独定义一个序列化类型来使用
    • 序列化类需要实现Writable接口或WritableComparable接口
    byte ByteWritable
    short ShortWritable
    int IntWritable
    long LongWritable
    float FloatWritable
    double DoubleWritable
    char CharWritable
    boolean BooleanWritable
    String Text
    Array ArrayWritable
    null NullWritable
      自定义序列化类型
    如有问题,请发送邮件至buxiaqingcheng@163.com或者buxiaqingcheng@dingtalk.com
  • 相关阅读:
    Codeforce821E Okabe and El Psy Kongroo
    hihocoder1497 Queen Attack
    hihocoder 1523数据重排
    codeforce 780C Andryusha and Colored Balloons
    codeforce 768B Code For 1
    hihoCoder1270 建造基地 完全背包
    UVA10054 The Necklace 欧拉回路+并查集
    Codeforces Round #480 (Div. 2) C 贪心 D 数字、思维 E 树上倍增
    ZOJ 4029 Now Loading!!! 思维
    西安电子科技大学第16届程序设计竞赛网络同步赛 E dp G 找规律
  • 原文地址:https://www.cnblogs.com/zhenzhunaichabujiatang/p/13969315.html
Copyright © 2011-2022 走看看