版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
建立编写MapReduce程序的依赖包2学习任务了解Map和Reduce的分配过程执行WordCount代码3知识目标Map和Reduce的任务分配大致过程如何在Eclipse中导入、导出jar包如何使用Hadoop运行WordCount代码01能力目标了解Map和Reduce的任务分配过程基本能够使用Hadoop环境运行示例代码02学习目标4目录01Map和Reduce任务分配过程02编写WordCount示例代码03执行程序jar包5Map和Reduce任务分配过程最外层的循环是心跳TaskTracker的所有可用资源,Hadoop用Slot描述一个TaskTracker的资源,比如2个MapSlot表示可以同时执行2个Map任务。对于每一个Slot,去寻找一个任务调度给它。外层循环6Map和Reduce任务分配过程内层循环是jobQueueJobInProgressListener这个Job队列里面的所有Job,对于每个Job,分两步:第一步,去查找该Job中那些失败的任务(按照失败次数越多越优先的原则),之后去查找与心跳TaskTracker位于同一主机或者同一机架的未运行的任务。第二步,去查找那些非本地的未运行的任务,以及正在处于运行中但是很慢的任务,在查找运行较慢的任务时,也遵循先本地,再机架,再全局,最后无位置信息的顺序。内层循环7Map和Reduce任务分配过程JobQueueTaskScheduler是Hadoop默认的调度策略,另外两种调度策略:CapacityTaskScheduler、FairScheduler。CapacityTaskScheduler是雅虎提出的,支持多个Job队列,这样的话可以避免单一队列必须先进先得到调度的问题;FairScheduler是Facebook提出的,目标是使得各个作业相对公平地获得集群资源,避免FIFO引起某些作业独占资源的问题,总的来说,这两种调度策略都可以防止单一作业占集群资源过多的问题,增加了一些优先级等等概念。调度策略8编写WordCount示例代码建立项目9编写WordCount示例代码导入程序所需的jar包10编写WordCount示例代码该程序有一个main方法,来启动任务的运行,其中job对象就存储了该程序运行的必要信息,比如指定Mapper类和Reducer类。编写WordCount程序11编写WordCount示例代码MapReduce程序的业务编码分为两个大部分,一部分配置程序的运行信息,一部分编写该MapReduce程序的业务逻辑,并且业务逻辑的map阶段和reduce阶段的代码分别继承Mapper类和Reducer类。编写WordCount程序12编写WordCount示例代码maptask阶段处理每个数据分块的单词统计分析,思路是每遇到一个单词则把其转换成一个key-value对,比如单词hello,就转换成<’hello’,1>发送给reducetask去汇总。reducetask阶段将接受maptask的结果,来做汇总计数。WordCount的业务逻辑13编写WordCount示例代码JAR(JavaARchive,Java归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个Javaapplet及其所需组件(.class文件、图像和声音)绑定到JAR文件中,而后作为单个的简单HTTP(HypertextTranferProtocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。将程序导出为jar包14编写WordCount示例代码JAR格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。另外,applet编写者也可在JAR文件中用数字签名的方式签写各项以确认其来源。它用Java编写,可与现有的applet代码完全向后兼容且可充分扩展。将程序导出为jar包15执行程序jar包将需要的类编译后的class文件,将编译后的文件打包成jar包,可使用Eclipse的export功能。例如:loginadd.jar。可执行jar包的manifest.mf文件格如下:
Manifest-Version:1.0
Created-By:1.6.0_10-beta(SunMicrosystemsInc.)
Main-Class:com.zuzhili.bussness.utils.ParseURL
Class-Path:lib/commons-lang-2.5.jarlib/filterbuilder.jarlib/htmllexer.jarlib/htmlparser.jarlib/mysql-connector-java-5.1.7-bin.jarlib/poi-3.9.jarlib/sitecapturer.jarlib/thumbelina.jar16执行程序jar包任务执行jar包#sudo-uhdfshadoopjarmrtest.jar/input/mrtest.txt/output19/06/0709:02:23INFOmapreduce.Job:map0%reduce0%19/06/0709:02:29INFOmapreduce.Job:map100%reduce0%19/06/0709:02:34INFOmapreduce.Job:map100%reduce100%17执行程序jar包#hadoopfs-ls/output查看HDFS中/output目录下的内容-rw-r--r--3hdfshdfs02019-06-0709:02/output/_SUCCESS-rw-r--r--3hdfshdfs302019-06-0709:02/output/part-r-0000018执行程序jar包#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论