zoukankan      html  css  js  c++  java
  • Hadoop MapReduce编程的一些个人理解

    首先要实现mapreduce就要重写两个函数,一个是map 还有一个是reduce
    map(key ,value) map函数有两个參数,一个是key,一个是value
    假设你的输入类型是TextInputFormat(默认),那么,你的map函数的输入将会是:

    • key : 文件的偏移量(就是values在该文件的位置)
    • value: 这是一行字符串(hadoop将文件每一行作为输入)

    hadoop会给每一行都运行map函数,map函数要做的,就是要将这一行,依据你要实现的功能(比方wordcount)将它拆成一个个(key,value)

    (wordcount的拆法就是,key=单词,value=1)

    接着,hadoop会将全部的(key,value)汇总,它会将全部key相同的项合并在一起,而value就是一个list,从而形成了一个新的(key,values),然后将这个发送给reduce函数.

    reduce(key,value) reduce函数相同有两个參数,一个是key,一个是value
    通常这个value就是一个list,
    reduce函数要实现的功能就是,针对当中一组(key,value),将其依照你要实现的功能,进行运算

    (wordcount的做法 ,那么你的key将是一个单词,而value这个list的每一项都是1,仅仅要计算一下有多少个1,那么就知道这个单词的频数是多少了.)

  • 相关阅读:
    HDU 1058 Humble Numbers
    HDU 1421 搬寝室
    HDU 1176 免费馅饼
    七种排序算法的实现和总结
    算法纲要
    UVa401 回文词
    UVa 10361 Automatic Poetry
    UVa 537 Artificial Intelligence?
    UVa 409 Excuses, Excuses!
    UVa 10878 Decode the tape
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5093509.html
Copyright © 2011-2022 走看看