大数据技术应用(国家) 技能点2:建立编写MapReduce程序的依赖包 建立编写MapReduce程序的依赖包.pptxVIP

  • 4
  • 0
  • 约2.61千字
  • 约 20页
  • 2020-08-29 发布于北京
  • 举报

大数据技术应用(国家) 技能点2:建立编写MapReduce程序的依赖包 建立编写MapReduce程序的依赖包.pptx

建立编写MapReduce程序的依赖包学习任务执行WordCount代码了解Map和Reduce的分配过程学习目标01知识目标Map和Reduce的任务分配大致过程如何在Eclipse中导入、导出jar包如何使用Hadoop运行WordCount代码02能力目标了解Map和Reduce的任务分配过程基本能够使用Hadoop环境运行示例代码目 录020301Map和Reduce任务分配过程编写WordCount示例代码执行程序jar包Map和Reduce任务分配过程外层循环最外层的循环是心跳TaskTracker的所有可用资源,Hadoop用Slot描述一个TaskTracker的资源,比如2个Map Slot表示可以同时执行2个Map任务。对于每一个Slot,去寻找一个任务调度给它。Map和Reduce任务分配过程内层循环内层循环是jobQueueJobInProgressListener这个Job队列里面的所有Job,对于每个Job,分两步:第一步,去查找该Job中那些失败的任务(按照失败次数越多越优先的原则),之后去查找与心跳TaskTracker位于同一主机或者同一机架的未运行的任务。第二步,去查找那些非本地的未运行的任务,以及正在处于运行中但是很慢的任务,在查找运行较慢的任务时,也遵循先本地,再机架,再全局,最后无位置信息的顺序。Map和Reduce任务分配过程调度策略JobQueueTaskScheduler是Hadoop默认的调度策略,另外两种调度策略:CapacityTaskScheduler、FairScheduler。CapacityTaskScheduler是雅虎提出的,支持多个Job队列,这样的话可以避免单一队列必须先进先得到调度的问题;FairScheduler是Facebook提出的,目标是使得各个作业相对公平地获得集群资源,避免FIFO引起某些作业独占资源的问题,总的来说,这两种调度策略都可以防止单一作业占集群资源过多的问题,增加了一些优先级等等概念。编写WordCount示例代码建立项目编写WordCount示例代码导入程序所需的jar包编写WordCount示例代码编写WordCount程序该程序有一个 main 方法,来启动任务的运行,其中 job 对象就存储了该程序运行的必要信息,比如指定Mapper类和Reducer类。编写WordCount示例代码编写WordCount程序MapReduce程序的业务编码分为两个大部分,一部分配置程序的运行信息,一部分编写该MapReduce程序的业务逻辑,并且业务逻辑的map阶段和reduce阶段的代码分别继承 Mapper类和 Reducer类。编写WordCount示例代码WordCount的业务逻辑maptask阶段处理每个数据分块的单词统计分析,思路是每遇到一个单词则把其转换成一个key-value对,比如单词hello,就转换成’hello’,1发送给reducetask去汇总。reducetask阶段将接受maptask的结果,来做汇总计数。编写WordCount示例代码将程序导出为jar包JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。编写WordCount示例代码将程序导出为jar包JAR 格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。另外,applet 编写者也可在 JAR 文件中用数字签名的方式签写各项以确认其来源。它用 Java 编写,可与现有的 applet 代码完全向后兼容且可充分扩展。执行程序jar包将需要的类编译后的class文件,将编译后的文件打包成jar包,可使用Eclipse的export功能。例如:loginadd.jar。可执行jar包的manifest.mf 文件格如下:  Manifest-Version: 1.0 Created-By: 1.6.0_10-beta (Sun Microsystems Inc.) Main-Class: com.zuzhili.bussness.utils.ParseURL Class-Path: lib/commons-lang-2.5.jar lib/filterbuilder.jar lib/htmllexer.jar lib/htmlparser.jar lib/mysql-connector-java-5.1.7-bin.jar lib/poi-3.9

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档