导航:首页 > 编程语言 > 统计词频java

统计词频java

发布时间:2024-07-17 02:01:29

‘壹’ 简述Hadoop的MapRece与Googl的MapRecc 之间的关系

江湖传说永流传:谷歌技术有"三宝",GFS、MapRece和大表(BigTable)!

谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年OSDI的MapRece,和06年OSDI的BigTable。SOSP和OSDI都是操作系统领域的顶级会议,在计算机学会推荐会议里属于A类。SOSP在单数年举办,而OSDI在双数年举办。

那么这篇博客就来介绍一下MapRece。

1. MapRece是干啥的

因为没找到谷歌的示意图,所以我想借用一张Hadoop项目的结构图来说明下MapRece所处的位置,如下图。


这幅图描述了MapRece如何处理词频统计。由于map worker数量不够,首先处理了分片1、3、4,并产生中间键值对;当所有中间值都准备好了,Rece作业就开始读取对应分区,并输出统计结果。

6. 用户的权利

用户最主要的任务是实现map和rece接口,但还有一些有用的接口是向用户开放的。

  • an input reader。这个函数会将输入分为M个部分,并且定义了如何从数据中抽取最初的键值对,比如词频的例子中定义文件名和文件内容是键值对。

  • a partition function。这个函数用于将map函数产生的中间键值对映射到一个分区里去,最简单的实现就是将键求哈希再对R取模。

  • a compare function。这个函数用于Rece作业排序,这个函数定义了键的大小关系。

  • an output writer。负责将结果写入底层分布式文件系统。

  • a combiner function。实际就是rece函数,这是用于前面提到的优化的,比如统计词频时,如果每个<w, "1">要读一次,因为rece和map通常不在一台机器,非常浪费时间,所以可以在map执行的地方先运行一次combiner,这样rece只需要读一次<w, "n">了。

  • map和rece函数就不多说了。

  • 7. MapRece的实现

    目前MapRece已经有多种实现,除了谷歌自己的实现外,还有着名的hadoop,区别是谷歌是c++,而hadoop是用java。另外斯坦福大学实现了一个在多核/多处理器、共享内存环境内运行的MapRece,称为Phoenix(介绍),相关的论文发表在07年的HPCA,是当年的最佳论文哦!

    阅读全文

    与统计词频java相关的资料

    热点内容
    hp服务器如何进iLO界面 浏览:140
    固定ip服务器如何加防火墙 浏览:235
    vmp一机一码加密软件 浏览:788
    跳绳解压视频教程 浏览:661
    加密货币支付对虚拟币的影响 浏览:741
    国外3d解压视频 浏览:628
    组态王app怎么复制图像 浏览:228
    美国怡口净水器压缩活性炭 浏览:251
    启动选项命令 浏览:907
    php在线下单系统源码 浏览:684
    windows视频压缩 浏览:389
    蚂蚁保护板蓝牙app如何连接电池 浏览:295
    迪哥的我的世界服务器叫什么 浏览:989
    数据结构与算法分析java习题答案 浏览:490
    pdf服务器 浏览:796
    cef平衡算法 浏览:435
    安卓手机如何打开272文件 浏览:27
    如何找到电脑里自己隐藏的文件夹 浏览:836
    设置服务器的无后缀地址访问 浏览:408
    安卓版推特为什么会闪退 浏览:720