云计算设计报告-Wordmean计算平均字长.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云计算 wordmean算法 PAGE 2 云计算技术设计报告 Wordmean计算平均字长 专业名称 班级学号 学生姓名 指导老师 提交时间 目录 1.背景简介………………………………………………………………1 2.原理介绍………………………………………………………………3 3方法流程图…………………………………………………………… 4 4.具体实现………………………………………………………………3 5.运行结果………………………………………………………………6 6.实验配置或运行时遇到的问题………………………………………9 7.结论及心得…………………………………………………………14 8.附录…………………………………………………………………21 TOC \o 1-3 \u 背景介绍 Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了海量数据的存储,将数据进行分块然后分布在不同的机器中。MapReduce提供了对数据的计算,结果以key--value的形式输出。 NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点。 NameNode同时保存了文件系统运行的状态信息。 DataNode中存储的是被拆分的blocks。 Secondary NameNode帮助NameNode收集文件系统运行的状态信息。 JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker。 TaskTracker负责某一个map或者reduce任务。 原理介绍 Wordmean算法是用来计算数据长度的平均数的一种算法,即统计一个文件中数据的平均长度(数字位数)。在Hadoop中,每个MapReduce任务都被初始化为一个Job,每个Job又可以分为两种阶段:map阶段和reduce阶段。这两个阶段分别用两个函数表示,即map函数和reduce函数。map函数接收一个key,value形式的输入,然后同样产生一个key,value形式的中间输出,Hadoop函数接收一个如key,(list of values)形式的输入,然后对这个value集合进行处理,每个reduce产生0或1个输出,reduce的输出也是key,value形式的。 方法流程图 具体实现 4.1虚拟机环境 4.2.具体操作步骤 在系统目录下创建一个文件夹dazuoye; 然后在文件夹下创建一个文件text1因为linux环境中没有后缀所以直接命名为text1并在text1中随便输入一些同类型的数据; 通过命令行操作在HDFS下创建文件夹out。 4.3.运行封装好的wordmean算法的jar包 以output目录作为输出目录。已经编译好的WordCount的Jar在/usr/hadoop下面,就是hadoop-examples-1.0.0.jar,执行命令时记得把路径写全了,不然会提示找不到该jar包,运行程序。 Hadoop命令会启动一个JVM来运行这个MapReduce程序,并自动获得Hadoop的配置,同时把类的路径(及其依赖关系)加入到Hadoop的库中。 运行结果 Map: ?public?void?map(Object?key,?Text?value,?Context?context) ????????throws?IOException,?InterruptedException ?{ ??????StringTokenizer?itr?=?new?StringTokenizer(value.toString()); ??????while?(itr.hasMoreTokens())?{ ????????String?string?=?itr.nextToken(); ????????this.wordLen.set(string.length()); ????????context.write(LENGTH,?this.wordLen); //单词长度(length,len) ????????context.write(C

文档评论(0)

写作定制 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档