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:

  • 相关阅读:
    大数板子
    数位dp
    BM算法
    牛客小白月赛7
    划分树
    可持久化线段树
    素数
    一些数学公式
    线性基
    ConcurrentHashMap 并发HashMap原理分析
  • 原文地址:https://www.cnblogs.com/cellphone7/p/10112328.html
Copyright © 2011-2022 走看看