《大数据平台部署与运维》课件——MapReduce编程模型.pptxVIP

  • 3
  • 0
  • 约4.54千字
  • 约 15页
  • 2024-05-07 发布于福建
  • 举报

《大数据平台部署与运维》课件——MapReduce编程模型.pptx

大数据平台部署与运维《大数据平台部署与运维》课程组MapReduce编程模型-WordCount基本原理

上节课知识回顾我们需要统计文本中每个单词出现的次数,我们看看怎么完成的?

过程很显然,首先拿到文本不是立刻就送去MapReduce中处理,而是先通过一个叫做TextInputFormat的类,处理好原有文本的数据,用偏移量逐个表识。然后再传入map中处理。然而map只是对单词进行简单的编号(同时编上1),在再进入reduce类之前,先通过迭代器(图中黑色部分),把map的数据简单的处理,如上图的hadoop为例,迭代器的内容就是hadoop,iterator(1,1),那么在reduce类中,我们只要统计好迭代器中的数值就好了。

Map阶段首先这个WordCountMapper类要继承Mapper类,这个类后面的参数是什么呢?LongWritable,Text,NullWritable,LongWritable,为什么要这样写呢。实际上这四个参数分别对应KEYIN,VALUEIN,KEYOUT,VALUEOUT,也就是输入的key,输入的value,输出的key,输出的value。

Map阶段protected?voidmap(LongWritable?key,Textvalue,???????????????????????????MapperLongWritable,Text,?NullWritable,?LongWritable.Contextcontext)???????????????????????????throws?IOException,?InterruptedException??{??????????????????//拿到一行文本内容,转换成String类型??????????????????String?valueString?=?value.toString();??????????????????//将这行文本切分成单词??????????????????String?wArr[]=?valueString.split(?);??????????????????//输出单词1???????????????????context.write(NullWritable.get(),?new?LongWritable(wArr.length));????????}toString(),它的作用是返回1个反映这个对象的字符串NullWritable是Writable的一个特殊类,实现方法为空实现,不从数据流中读数据,也不写入数据,只充当占位符,如在MapReduce中,如果你不需要使用键或值,你就可以将键或值声明为NullWritable,NullWritable是一个不可变的单实例类型。

Reduce阶段publicclass?WordCountReducer??extendsReducerNullWritable,?LongWritable,?NullWritable,?LongWritable{????????@Override编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。????????protected?voidreduce(NullWritable?key,?IterableLongWritablev2s,???????????????????????????ReducerNullWritable,?LongWritable,?NullWritable,?LongWritable.Context?context)throws?IOException,?InterruptedException??{??????????????????IteratorLongWritableit=v2s.iterator();??????????????????//定义一个计时器??????????????????long?sum=0;??????????????????//?通过value这个迭代器,遍历这一组kv中所有的value,进行累加??????????????????while(it.hasNext()){???????????????????????????sum?+=?it.next().get();}???????????????????context.write(NullWritable.get(),?new?LongWritable(sum));?}}

词频统计统计每个单词出现的次数

词频统计词频统计原

文档评论(0)

1亿VIP精品文档

相关文档