Maprduce数据流走向图

 
流程解释
 
 Input files
  
     功能描述:存储在HDFS中的文件数据
     
 InputFormat
     
     功能描述:1,选取数据对象  2,分割数据文件 3,读取数据对象
     实现参考:
               

        

     重写参考:
               由于InputFormat包含了InputSplit类和RecordReader类的应用,故重写时可以先定义好数据结构后重写InputSplit和RecordReader类进行实现。文章参                           考:
               http://blog.csdn.net/anbo724/article/details/6956286               
                   http://www.blogjava.net/shenh062326/
 
 InputSplits
 
     功能描述:一个map处理掉的数据单元为一个split,默认大小为64M
    重写参考:
               先将函数isSplitable(JobContext context, Path file)的返回值置为TRUE,而后重写List<InputSplit> getSplits(JobContext job),文章参考:
                    http://opqaz.iteye.com/blog/1604486
 
 
RecordReader
 
     功能描述:读取数据对象
     重写参考:
               RecordReader类是文件读取、数据填充的重要类。文章参考:http://blog.csdn.net/anbo724/article/details/6955175
 
map
 
     功能描述:接收键值对<key,value>,根据需求进行相应处理
     重写参考:
               重写void map(Object key, Text value, Context context )函数,参考WordCount例子
 
Partition & Shuffle
 
     功能描述:map处理完成后,数据通过Partition & Shuffle进行合并同类项,将相同的key的数据放在同一个节点
     重写参考:由于Partition类通过hashCode()函数实现相同key存放同一节点,故重写放在WritableComparable接口的hashCode()函数
 
sort
 
     功能描述:根据key进行在单节点下进行排序
 
reduce
 
     功能描述:接收排序完的键值对<key,value>,根据需求进行相应处理
     重写参考:重写void reduce(Text key, Iterable<IntWritable> values, Context context)函数,参考WordCount例子
 
OutputFormat
               
         功能描述:数据输出
         实现参考:

        

          重写参考:重写RecordWriter类。文章参考:http://blog.csdn.net/anbo724/article/details/6956477

Maprduce数据流补充图

   

    

Combiner:
     
     功能描述:单节点内对数据进行合并(诸如WordCount中对相同key进行累加)
    重写参考:
               该类功能可选,如果reduce类能实现自定义合并或者不需要合并功能,该类可以直接跳过:conf.setCombinerClass(Reduce.class);
 

Maprduce重写参考的更多相关文章

  1. Java基础-重写方法

    一般我们需要在新类上重写,两个类的实现: class Animal{ public void move(){ System.out.println("动物可以移动"); } } c ...

  2. 使用URLRewriter实现URL重写

    优点 1)隐藏真实URL,提高安全性 2)更加友好的URL,好记(看博客园就行知道啦) 3)便于搜素引擎收录 ......... 可能的缺点 使用URL重写可能导致: 1)图片路径的问题 2)CSS路 ...

  3. 解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计

    ERP系统的单据具备标准的功能,这里的单据可翻译为Bill,Document,Entry,具备相似的工具条操作界面.通过设计可复用的基类,子类只需要继承基类窗体即可完成单据功能的程序设计.先看标准的销 ...

  4. Java中的会话管理——HttpServlet,Cookies,URL Rewriting(译)

    参考谷歌翻译,关键字直接使用英文,原文地址:http://www.journaldev.com/1907/java-session-management-servlet-httpsession-url ...

  5. 2016年3月9日Android实习日记

    1. 解决 org.eclipse.swt.SWTException: Graphic is disposed 问题. 参考:http://www.xuebuyuan.com/1896964.html ...

  6. (转)JDK工具-javadoc命令

    背景:最近在学习java基础知识,看到文档注释部分,一种是在dos命令下生成api文件,另一种是在eclipse下生成api文件.dos方式在<疯狂java讲义>中有详细的说明,eclip ...

  7. Java 中的会话管理—— HttpServlet,Cookies,URL Rewriting(转)

    索引 1.什么是 Session? 2.Java 中的会话管理—— Cookie 3.Java Servlet 中的 Session —— HttpSession 理解 JSESSIONID Cook ...

  8. Springboot Actuator之五:Springboot中的HealthAggregator、新增自定义Status

    springboot的actuator内置了/health的endpoint,很方便地规范了每个服务的健康状况的api,而且HealthIndicator可以自己去扩展,增加相关依赖服务的健康状态,非 ...

  9. 伪静态重写模块rewrite.dll及httpd.ini文件参考下载

    伪静态重写模块rewrite.dll及httpd.ini文件参考下载 http://www.ledaokj.com/download/rewrite.rar 服务器端开启伪静态,可以查看以下文章< ...

随机推荐

  1. 两种js监听滚轮事件的方式

    前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = functio ...

  2. Java基础从数组到集合之间关键字的区别!!!!

    1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...

  3. the evaluation period for visual studio trial edition has ended的解决方法-转发

    首先献上自己收集的Visual studio 2008序列号: Visual Studio 2008 Professional Edition: XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4 ...

  4. 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。

    打开IIS管理器,找到“处理程序映射”,在列表右击选择“添加脚本映射”即可.eg:*.aspx,将该类型的页面的处理程序映射为“%windir%\Microsoft.NET\Framework\v4. ...

  5. ContextMenuOpening 事件

    ContextMenuOpening事件,不能在将要触发的目标ContextMenu中触发,只能包含 这个ContextMenu的父控件中触发该事件. 在ListView中,希望控制右键弹出菜单时,可 ...

  6. Windows Server R2服务器 IIS7 部署MVC3网站

    报错:调用 GetProcAddress 失败,在 ISAPI 筛选器 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi ...

  7. Ajax请求过程中显示“进度”的简单实现

    Ajax在Web应用中使用得越来越频繁.在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击 ...

  8. Oracle wrap 测试的一些细节问题

    今天在做 wrap 的测试实验的时候,出现一个很奇怪的现象,就是加密不成功.具体表现为:1.加密后的文件大小为0kb. 2.加密后的文件仍然可视. 具体测试步骤如下: D:\Just4work\som ...

  9. 关于JS中的apply()与call()使用方法与区别

    Js apply方法详解我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里 ...

  10. C#基础|初探反射

    什么是反射 我们编写的C#代码都可以编译成exe文件或dll文件.暂时先把他们叫做程序集吧,程序集中包含了很多信息.你写了一个类,类中会有字段,有属性,有方法,编译是会把这些信息保存在程序集中,暂时把 ...