• 注册
  • BBS 大数据 关注:2 内容:74

    mapreducer 编程(1)

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 字节脉搏 > 大数据 > 正文
    VIP
    字节脉搏运营

    mapreducer 编程,排重、全局与分组的最大值最小值词计算、自定义序列化类

    1. 排重#

    利用reducer的输入key是已经是排重过的先天特性进行数据的排重
    mapper和reducer实现
    mapreducer 编程(1)
    job配置

    以下内容回帖刷新可见………………#

    mapreducer 编程(1)
    输入数据
    mapreducer 编程(1)

    运算结果

    2. 求全局最大值的词#

    导入的依赖类
    mapreducer 编程(1)
    mapper实现,每个map计算局部最大值,并输出最大值对应的词,在map方法中不输出,使用了cleanup所有一个map只输出一条记录
    mapreducer 编程(1)
    reducer实现,reducer接受所有map计算出的最大值,并进行全局的最大值计算,在reducer方法中不输出,使用了cleanup所有一个reducer只输出一条记录
    mapreducer 编程(1)
    job配置
    mapreducer 编程(1)
    输入数据,使用wordcount计算的结果

    mapreducer 编程(1)

    运算结果

    mapreducer 编程(1)

    3. 同时求全局最大值和全局最小值的词#

    mapper实现,使用”\001″进行拼接,”\001″生成的字符表示的是ctrl+A。使用”\001″是因为这种字符在数据中极少出现,所以使用”\001″拼接可以避免数据分割混乱。设计两个分组,最大值组和最小值组
    mapreducer 编程(1)
    mapreducer 编程(1)
    reducer实现
    mapreducer 编程(1)
    mapreducer 编程(1)

    job配置
    mapreducer 编程(1)
    输入数据
    mapreducer 编程(1)
    运算结果
    mapreducer 编程(1)

    4. 同时求每组词的最大值和每组词的最小值#

    mapper实现
    mapreducer 编程(1)
    reducer实现
    mapreducer 编程(1)
    jobconfig
    mapreducer 编程(1)
    输入数据
    mapreducer 编程(1)
    运算结果
    mapreducer 编程(1)

    5. 自定义序列化数据类#

    序列化类实现,用于map和reducer之间传递数据,这样多个值可以一起传递
    mapreducer 编程(1)
    mapper实现
    mapreducer 编程(1)
    combiner实现
    mapreducer 编程(1)
    reducer实现
    mapreducer 编程(1)
    job配置
    mapreducer 编程(1)
    查看任务counter说明combiner任务已经生效
    mapreducer 编程(1)

    输入数据和运算结果同第4步

    来自海牛部落-青牛,http://hainiubl.com/topics/92

    请登录之后再进行评论

    登录
  • 做任务
  • 帖子间隔 侧栏位置: