zoukankan      html  css  js  c++  java
  • 大数据笔记-基于mapreduce的并行算法

    7.1 mapreduce

    mapreduce编程:

    同步工具:

    实现时需要注意的地方:

    本地聚合的重要性:

    字数统计

    map进化1:引入数组H(仍然需要combiner)

     map进化2:把数组H变为全局变量,map结束后再将H输出

    (in-mapper的实现)本地聚合的设计模式:

    将combiner的功能集成到mapper中(速度更快,in-mapper是内存上的操作->需要内存管理)

    计算平均数

    combiner的设计:

    example:

    map version1:(此时reducer不能代替combiner)

    version 2:(存在的问题:mapper的输出不是reducer的输入->影响了程序的正确性)

     version 3:正确版本

    in-mapper版本:(此时不需要combiner,可以减少通信量)

    单词共现矩阵的计算

    方法1词对法

    存在的问题:

    估计相对频率:

     

    同步的实现:将同步变成一个排序问题

    方法2条纹法

    存在的问题:

    估计相对频率:

    同步的实现:构造数据结构使部分结果聚集到一起

     

    再现概括总结:同步工具

    tradeoff:

  • 相关阅读:
    JDK+MyEclipse+Tomcat配置
    常用数据类型占内存字节数
    连连看核心算法
    gnuplot画图
    socket服务器的搭建-Mac
    AlertController提示框
    block-循环引用
    OC基础(21)
    OC基础(20)
    OC基础(19)
  • 原文地址:https://www.cnblogs.com/cellphone7/p/10112328.html
Copyright © 2011-2022 走看看