MapReduce 编程系列

问答 HiHadoop ⋅ 于 2017-12-14 09:24:24 ⋅ 最后回复由 青牛 2017-12-26 16:06:03 ⋅ 9640 阅读

Hadoop经典的wordcount, 如何只输入单词频率出现最高的单词呢? 能否给个思路呀

回复数量: 35
  • HiHadoop
    2017-12-17 18:19:11

    @青牛 老师,我又碰到一个问题。如果俩单词出现的频率一样的话,该肿么办呢

  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2017-12-18 10:22:41

    @HiHadoop reducer里面放一个list,然后在cleanup里输出

  • HiHadoop
    2017-12-18 18:10:42

    @青牛 老师 ,我遇到一个难题,我们可以在QQ上聊吗

  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2017-12-18 20:33:14

    @HiHadoop 太忙了,平时没时间上QQ

  • HiHadoop
    2017-12-18 20:39:28

    @青牛 老师,我同学说可以用一个程序写出来, 是在map排序,reduce输出,emmmm,但是这就是我不懂的地方

  • HiHadoop
    2017-12-18 20:40:50

    @青牛 我参照您的,已经可以用两个程序做出来啦

  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2017-12-18 20:46:13

    @HiHadoop 在map排序只能使用集合对象,会用到大量堆内存,而且数据量多会生成多个map进行并行化处理,所以即使能排序也只是拿的数据的局部排序,所以你的需求一个任务做,也只适应小于一个block块的数据。搞的是大数据不能这么想。

  • HiHadoop
    2017-12-18 20:49:11

    @青牛 好的谢谢老师指点

  • HiHadoop
    2017-12-19 18:57:00

    @青牛 老师这一步可以给点代码提示吗, 写不出来的, 只能输出一个最大的,

  • HiHadoop
    2017-12-19 18:57:28

    @青牛
    reducer里面放一个list,然后在cleanup里输出

  • HiHadoop
    2017-12-24 19:07:10

    @青牛 老师这个代码我还是写不出来,不知道具体该怎么写

  • HiHadoop
    2017-12-24 19:07:32

    @青牛 就是那个频率都是最高的该如何输出

  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2017-12-25 16:43:48

    伪代码

    Map<String,List<Integer>> map = new HashMap<String,ArrayList<Integer>>();
    if(value > max){
    max=value
    List mapList = map.get("max")
    map_tmp = mapList[0]
    if(max == map_tmp){
    mapList.append(max)
    }else{
    List<Integer> list = new ArrayLIst<Integer>()
    list.append(max)
    map.put("max",list)
    }
    }
  • HiHadoop
    2017-12-26 15:06:51

    @青牛 老师 ,我将你的代码改成这样了
    if(sum > max){
    max=sum;
    List mapList = map.get("max");
    int map_tmp = (int) mapList.get(0);
    if(max == map_tmp){
    mapList.add(max);
    }else{
    ArrayList list = new ArrayList();
    list.add(max);
    map.put("max",list);
    }
    }

    但是不知道如何输出了

  • HiHadoop
    2017-12-26 15:19:41

    @青牛 看不懂啊

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter