数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc

上传人:zf 文档编号:30809361 上传时间:2024-01-30 格式:DOC 页数:5 大小:779KB
下载 相关 举报
数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc_第1页
第1页 / 共5页
数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc_第2页
第2页 / 共5页
数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc_第3页
第3页 / 共5页
数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc_第4页
第4页 / 共5页
数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc

《数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc》由会员分享,可在线阅读,更多相关《数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc(5页珍藏版)》请在冰豆网上搜索。

数据存储实验5-编写MapReduce程序实现词频统计.doc(实验报告).doc

《数据存储技术》实验5编写MapReduce程序实现词频统计

《数据存储技术》

实验5

编写MapReduce程序实现词频统计

1作业题目

熟悉MapReduce编程。

2作业目的

1. 理解Hadoop中MapReduce模块的处理逻辑

2. 熟悉MapReduce编程

3实验平台

操作系统:

Linux

工具:

Eclipse或者IntellijIdea等JavaIDE

4实验内容和要求

1.在电脑上新建文件夹input,并input文件夹中创建三个文本文件:

file1.txt,file2.txt,file3.txt

三个文本文件的内容分别是:

file1.txt:

bigdataapplicationsciencebigdatahadoopmapreducescience

file2.txt:

mapreducesciencebigdatahadoop

file3.txt:

hadoopmapreducewordcountcomputerscience

2.启动hadoop伪分布式,将input文件夹上传到HDFS上

3.编写mapreduce程序,实现单词出现次数统计。

统计结果保存到hdfs的output文件夹。

packageorg.apache.hadoop.examples;

importjava.io.IOException;

importjava.util.Iterator;

importjava.util.StringTokenizer;

importorg.apache.hadoop.conf.Configuration;

importorg.apache.hadoop.fs.Path;

importorg.apache.hadoop.io.IntWritable;

importorg.apache.hadoop.io.Text;

importorg.apache.hadoop.mapreduce.Job;

importorg.apache.hadoop.mapreduce.Mapper;

importorg.apache.hadoop.mapreduce.Reducer;

importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;

importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

importorg.apache.hadoop.util.GenericOptionsParser;

publicclassWordCount{

publicWordCount(){

}

publicstaticvoidmain(String[]args)throwsException{

Configurationconf=newConfiguration();

String[]otherArgs=(newGenericOptionsParser(conf,args)).getRemainingArgs();

if(otherArgs.length<2){

System.err.println("Usage:

wordcount[...]");

System.exit

(2);

}

Jobjob=Job.getInstance(conf,"wordcount");

job.setJarByClass(WordCount.class);

job.setMapperClass(WordCount.TokenizerMapper.class);

job.setCombinerClass(WordCount.IntSumReducer.class);

job.setReducerClass(WordCount.IntSumReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

for(inti=0;i

FileInputFormat.addInputPath(job,newPath(otherArgs[i]));

}

FileOutputFormat.setOutputPath(job,newPath(otherArgs[otherArgs.length-1]));

System.exit(job.waitForCompletion(true)?

0:

1);

}

publicstaticclassIntSumReducerextendsReducer{

privateIntWritableresult=newIntWritable();

publicIntSumReducer(){

}

publicvoidreduce(Textkey,Iterablevalues,Reducer.Contextcontext)throwsIOException,InterruptedException{

intsum=0;

IntWritableval;

for(Iteratori$=values.iterator();i$.hasNext();sum+=val.get()){

val=(IntWritable)i$.next();

}

this.result.set(sum);

context.write(key,this.result);

}

}

publicstaticclassTokenizerMapperextendsMapper{

privatestaticfinalIntWritableone=newIntWritable

(1);

privateTextword=newText();

publicTokenizerMapper(){

}

publicvoidmap(Objectkey,Textvalue,Mapper.Contextcontext)throwsIOException,InterruptedException{

StringTokenizeritr=newStringTokenizer(value.toString());

while(itr.hasMoreTokens()){

this.word.set(itr.nextToken());

context.write(this.word,one);

}

}

}

}

4.获取统计结果(给出截图或相关结果数据)

5实验报告

《数据存储技术》实验报告

题目:

编写MapReduce程序实现词频统计

姓名:

日期:

2021.5.19

实验环境:

操作系统:

Linux

工具:

Eclipse或者IntellijIdea等JavaIDE

实验内容与完成情况:

1.在电脑上新建文件夹input,并input文件夹中创建三个文本文件:

file1.txt,file2.txt,file3.txt

2.启动hadoop伪分布式,将input文件夹上传到HDFS上

3.编写mapreduce程序,实现单词出现次数统计。

统计结果保存到hdfs的output文件夹。

4.获取统计结果(给出截图或相关结果数据)

均已完成

出现的问题:

解决方案(列出遇到的问题和解决办法,列出没有解决的问题):

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1