hadoop一种简化机制来管理job和control作业之间的非线性依赖,job对象mapreduce表明。

job该目的是通过使实例化jobconf对象的构造函数的工作落实。

x.addDeopendingJob(y)意味着x在y完毕之前不会启动。

鉴于job对象存储着配置和依赖信息,jobcontrol对象会负责监管作业的运行。通过addjob(),你能够为jobcontrol加入作业,当全部作业和依赖关系加入完毕后,调用jobcontrol的run()方法,生成一个线程提交作业并监视其运行,有allFinised(),getFailedJobs()方法

hadoop引入chainMapper和chainReducer来简化预处理和后处理

driver会先设置“全局”jobconf对象。包括作业名。输入路径和输出路径等。它一次性加入全部步骤,然后按顺序运行

ChainMapper.addMapper()方法的签名来具体了解怎样一步步的链接作业

byvalue用于推断是否是值传递,若为false则採用引用传递。初始mapper的输出内容保存在内存中。假设后期不再调用传入的值,能够这样,效率高,一般设为true

reduce函数接收输入数据,并对其值进行交叉乘积,reduce生成这些值的全部合并结果。

交叉乘积得到的每一个合并结果被送入函数combine()(不是combiner)生成一个输出记录,对于随意特定的合并,combine能够选择不输出。交叉乘积的本质确保了combine看到的记录都有同样的连接键

在解释怎样使用DatajoingMapperBase和DataJoinReduceBase之前。你须要了解在代码通篇所使用的一个抽象数据类TaggedMapOutput(用Text标签封装记录的数据类型)

在数据流的描写叙述中,mapper输出的包带有一个组键和一个被标签记录的值,datajoin软件包指定组键为text类型。而值为TaggerMapOutput类型,它详细实现了getTag()和setTag(Text Tag)方法

作为mapper的输出,TaggerMapOutput必须是Writable类型,因此我们的子类必须实现readFile()和write()方法

DataJoinMapper运行全部的封装,指定了三个能够填充的抽象方法

generateInputTag在map任务開始前调用。来为这个map任务所处理的全部记录指定一个全局标签,

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVlZGthbmU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

假设横跨几个文件。能够用它们的前缀作为标签

完毕map任务初始化后。为每一个记录调用DataJoinMapperBase的map()方法。

里面调用generateTaggedOutput()和generateGroupKey()方法

原则上。在同一文件里,不同的记录能够用不同的标签,在标准情况下。我们希望一个标签代表一个数据源,它早先由generateInputTag()计算好并存在this.InputTag中

版权声明:本文博主原创文章。博客,未经同意不得转载。

hadoop得知;datajoin;chain署名;combine()的更多相关文章

  1. hadoop得知;block数据块;mapreduce实现样例;UnsupportedClassVersionError变态;该项目的源代码相关联

    对于开源的东西.特别是刚出来不久.我认为最好的学习方法是能够看到源代码,doc,样品测试 为了方便查看源代码,导入与项目相关的源代码 watermark/2/text/aHR0cDovL2Jsb2cu ...

  2. [Hadoop in Action] 第5章 高阶MapReduce

    链接多个MapReduce作业 执行多个数据集的联结 生成Bloom filter   1.链接MapReduce作业   [顺序链接MapReduce作业]   mapreduce-1 | mapr ...

  3. MapReduce,DataJoin,链接多数据源

    主要介绍用DataJoin类来链接多数据源,先看一下例子,假设二个数据源customs和orders customer ID       Name      PhomeNumber 1         ...

  4. hadoop中联结不同来源数据

    装载自http://www.cnblogs.com/dandingyy/archive/2013/03/01/2938462.html 有时可能需要对来自不同源的数据进行综合分析: 如下例子: 有Cu ...

  5. hadoop常见问题汇集

    1 hadoop conf.addResource http://stackoverflow.com/questions/16017538/how-does-configuration-addreso ...

  6. 转】用Maven构建Hadoop项目

    原博文出自于: http://blog.fens.me/hadoop-maven-eclipse/ 感谢!   用Maven构建Hadoop项目 Hadoop家族系列文章,主要介绍Hadoop家族产品 ...

  7. 本地通过Eclipse链接Hadoop操作Mysql数据库问题小结

    前一段时间,在上一篇博文中描述了自己抽时间在构建的完全分布式Hadoop环境过程中遇到的一些问题以及构建成功后,通过Eclipse操作HDFS的时候遇到的一些问题,最近又想进一步学习学习Hadoop操 ...

  8. Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类

    前言 前面一篇博文写的是Combiner优化MapReduce执行,也就是使用Combiner在map端执行减少reduce端的计算量. 一.作业的默认配置 MapReduce程序的默认配置 1)概述 ...

  9. Hadoop基础-Map端链式编程之MapReduce统计TopN示例

    Hadoop基础-Map端链式编程之MapReduce统计TopN示例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 对“temp.txt”中的数据进行分析,统计出各 ...

随机推荐

  1. WEB安全实战(一)SQL盲注

    前言 好长时间没有写过东西了,不是不想写,仅仅只是是一直静不下心来写点东西.当然,拖了这么长的时间,也总该写点什么的.近期刚刚上手安全方面的东西,作为一个菜鸟,也本着学习的目的,就谈谈近期接触到的安全 ...

  2. JAVA环境配置---------jdk安装路径中存在空格的问题

    我把jdk 安装在C:\Program Files下 而ide启动脚本 startup.bat 例如以下: if "%OS%"=="Windows_NT" se ...

  3. c# 操作 MongoDB 的 第三方类库 MongoRepository

    https://github.com/RobThree/MongoRepository 文档 https://github.com/RobThree/MongoRepository/wiki/Docu ...

  4. C#中禁止程序多开

    原文:C#中禁止程序多开 方法一.使用Mutex bool createdNew; //返回是否赋予了使用线程的互斥体初始所属权            System.Threading.Mutex i ...

  5. MapReduce源代码分析MapTask分析

    前言 MapReduce该分析是基于源代码Hadoop1.2.1代码分析进行的基础上. 该章节会分析在MapTask端的详细处理流程以及MapOutputCollector是怎样处理map之后的col ...

  6. 编写ruby扩展库

    # Loads mkmf which is used to make makefiles for Ruby extensions require 'mkmf' # Give it a name ext ...

  7. MongoDB CRUD 基础知识

    建立一个良好的发展环境 环境win8 x64,下载并安装省略.经mongodb 的bin文件夹增加windows的path中,为以后使用方便. c盘新建存储目录:c:/data/db 执行服务:WIN ...

  8. Spark第一个研究笔记1一片 - Spark一个简短的引论

    该公司推出的在线项目Spark拥有近1随着时间的推移.有效,Spark事实上,优秀的分布式计算平台,以提高生产力. 开始本篇笔记.此前的研究会Spark研究报告共享出来(由于篇幅的限制,它将被划分成制 ...

  9. Nancy

    Nancy Nancy 是一个轻量级的,简单粗暴的framework用来构建基于HTTP的各种服务,兼容.Net和Mono.Nancy的整套设计理念是基于"super-duper-happy ...

  10. 第四章——SQLServer2008-2012资源及性能监控(2) .

    原文:第四章--SQLServer2008-2012资源及性能监控(2) . 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源.在数据库服务器中,CPU的使用情况应 ...