Hadoop基础学习(一)分析、编写并运行WordCount词频统计程序

本文档详述了一次Hadoop基础学习的过程,通过编写和运行WordCount程序来统计莎士比亚文集的词频。实验要求在Eclipse环境中实现MapReduce程序,排除停词并按词频排序。遇到的问题包括停词文件读取、排序输出等,通过DistributedCache和自定义Mapper/Reducer解决。实验成功实现了词频统计,并分析了程序设计与性能改进方案。
摘要由CSDN通过智能技术生成

前面已经在我的Ubuntu单机上面搭建好了伪分布模式的HBase环境,其中包括了Hadoop的运行环境。

详见我的这篇博文:http://blog.csdn.net/jiyiqinlovexx/article/details/29208703

我的目的主要是学习HBase,下一步打算学习的是将HBase作为Hadoop作业的输入和输出。

但是好像以前在南大上学时学习的Hadoop都忘记得差不多了,所以找到以前上课做的几个实验:wordCount,PageRank以及InversedIndex。

发现以前写的实验报告还是蛮详细的,很容易看懂,恰好以前做实验用的也是hadoop0.20的版本,所以按照我以前写的实验手册直接操作,熟悉一下Hadoop了。


下面是我以前写的WordCOunt的实验报告:

一、实验要求:

实验内容与要求
1. 在Eclipse环境下编写WordCount程序,统计所有除Stop-Word(如a, an, of, in, on, the, this, that,…)外所有出现次数k次以上的单词计数,最后的结果按照词频从高到低排序输出
2. 在集群上运行程序,对莎士比亚文集文档数据进行处理
3. 可自行建立一个Stop-Word列表文件,其中包含部分停词即可,不需要列出全部停词;参数k作为输入参数动态指定(如k=10)
4. 实验结果提交:要求书写一个实验报告,其中包括:
实验设计说明,包括主要设计思路、算法设计、程序和各个类的设计说明
程序运行和实验结果说明和分析
性能、扩展性等方面存在的不足和可能的改进之处
源程序 ,执行程序,停词列表文件
运行结果文件


二、实验报告:

Wordcount词频统计实验

201241星期日

19:04

1设计思路

Map:

(1)停词存储

因为停词比较少,所以选择将他们全部存储到内存中,停词不能有重复,还需要快速访问,所以选择hashset来存储

(2)map

对于map传进来的每一行文本,首先用正在表达式将英文标点符号全部题换成空格,然后在循环分析每一个单词,如果这个单词不包括在停词集合中,则将其key设为单词本身,值设置为1,并发射出去。

Reduce:

reduce中对每一个key,将其所有value累加起来。如果value不小于某个词频,则将其output出去。

 

2遇到的问题

(1)hadoop API问题

(2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值