码迷,mamicode.com
首页 > 其他好文 > 详细

MapReduce程序快速入门之查找相同字母组成的字谜

时间:2015-12-26 15:09:37      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:

  找出相同单词的所有单词。现在,是拿取部分数据集(如下)来完成本项目。

技术分享

项目需求

一本英文书籍包含成千上万个单词或者短语,现在我们需要在大量的单词中,找出相同字母组成的所有anagrams(字谜)。

思路分析

基于以上需求,我们通过以下几步完成:

1、在 Map 阶段,对每个word(单词)按字母进行排序生成sortedWord,然后输出key/value键值对(sortedWord,word)。

2、在 Reduce 阶段,统计出每组相同字母组成的所有anagrams(字谜)。

 

1 首先,打开MyEclipse,

在com.dajiangtai.hadoop.test包下,新建Anagram类。添加main方法。

技术分享

2 、在如下文件夹下,新建anagram文件夹

技术分享

3 上传数据源anagram.txt

在anagram文件夹的位置,右键,upload fles to DFS,

技术分享

技术分享

4 、编写Anagram.java里的代码。见Anagram.java.txt

代码编写完成后,然后就可以进行Run as ->  1 java application 。

刷新后,如下。

技术分享

技术分享

5 、接下来,点击part-r-00000(186.1 kb,r3),则出现。

技术分享

那么,此刻,在本地上已经成功运行。

6 、现在,需要到集群上去成功运行,这该怎么做呢?

Hadoop   ->   Export    ->   Export,   

技术分享

Java   ->    JAR  file  ->   next 

技术分享

7 、因为,在hadoop里,这些依赖的架包是存在的,所以我们就不需要再多此一举再打包了。

为架包取一个名称,为anagram.jar,先在D盘新建文件夹JAR,存放在D:\JAR\anagram.jar,点击finish。

技术分享

技术分享

8、 接下来,用xshell来连接CentOS。

技术分享

技术分享

9 、rz,打开D:\JAR\anagram.jar ,上传至CentOS

技术分享

技术分享

技术分享

10、执行命令

hadoop  jar  anagram.jar  com.dajiangtai.hadoop.test.Anagram  /anagram/  /anagram/out/

技术分享

技术分享

11、 查看结果

hadoop  fs  -text  /anagram/out/part-r-00000

技术分享

 

MapReduce程序快速入门之查找相同字母组成的字谜

标签:

原文地址:http://www.cnblogs.com/zlslch/p/5078072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!