在通过WordCount的例子直观地了解了MapReduce框架的作业如何编写后,现在对MapReduce框架中的关键接口或者类进行深入地地探索和学习。主要讲解Hadoop1.x中的接口和类,也就是org.apache.hadoop.mapreduce包中的接口和类,上面介绍的WordCount作业也是实现了这个包中的接口和类。首先会介绍Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>和Reducer<KEYIN,VALUEIN,KEYOUT,VALUEOUT>类,应用程序一般通过集成这两个类来实现map和reduce方法,而不同于之前版本中实现Mapper和Reducer接口。然后会介绍其它的接口或者类,包括InputFormat<K,V>、Job、Configuration 、OutputFormat<K,V>、Partitioner<KEY,VALUE>、Context、ToolRunner、Tool、Configured 等。最后通过介绍MapReduce的一些有用的特性,比如DistributedCache,结束MapReduce的学习。

类Mapper将输入的键值对映射为中间键值对的集合。Maps是独立的任务,将输入的记录转化为中间记录,这些转化而来的中间记录不需要和输入记录保持一致的类型。一个给定的输入键值对可能映射为零或者多个输出键值对。MapReduce框架为每个由作业的InputFormat产生的InputSplit生成一个Map任务。Mapper类的实现可以通过使用JobContext.getConfiguration()访问作业的Configuration对象。MapReduce框架首先调用setup(org.apache.hadoop.mapreduce.Mapper.Context),接着为Inpu

Hadoop学习之MapReduce(二)相关推荐

  1. 第三节 Hadoop学习案例——MapReduce课程设计 好友推荐功能

    提示:文章内容主要以案例为主 目录 前言 项目说明 一,程序需求 1.需求 2.数据 二,编码操作 1.项目建包目录 2.FriendsRecommend.java 3.FriendsRecommen ...

  2. Hadoop学习之MapReduce

    Hadoop学习之MapReduce 目录 Hadoop学习之MapReduce 1 MapReduce简介 1.1 什么是MapReduce 1.2 MapReduce的作用 1.3 MapRedu ...

  3. Hadoop学习之MapReduce(三)

    在学习过MapReduce框架的几个关键类和接口后(只是简单的说明了类或者接口的作用及使用方式,要想深入了解如何工作的就需要深入研究源代码了,这也是计划中的学习任务),接下来看看任务的执行和环境,主要 ...

  4. Hadoop学习之Mapreduce执行过程详解

    一.MapReduce执行过程 MapReduce运行时,首先通过Map读取HDFS中的数据,然后经过拆分,将每个文件中的每行数据分拆成键值对,最后输出作为Reduce的输入,大体执行流程如下图所示: ...

  5. Hadoop学习之MapReduce(四)

    接下来是跟MapReduce目录结构有关的参数.首先看两个参数,分别为在core-default.xml中定义的hadoop.tmp.dir,其默认值为/tmp/hadoop-${user.name} ...

  6. Hadoop学习之MapReduce(一)

    在学习过了HDFS架构和Hadoop的配置管理后,现在学习MapReduce应用程序的编写和管理.首先简单介绍一下MapReduce框架. MapReduce是一个易于编写程序的软件框架,这些应用程序 ...

  7. hadoop学习笔记(二):centos7三节点安装hadoop2.7.0

    环境win7+vamvare10+centos7 一.新建三台centos7 64位的虚拟机 master 192.168.137.100 root/123456 node1 192.168.137. ...

  8. Hadoop学习之MapReduce分布式计算框架

    目录 一.本地模式 1.新建一个本地maven项目 2.修改prom依赖(maven) 3.新建一个包mapreduce,在该包中新建三个包 4.写mapper组件 5.写Reducer组件 6.写D ...

  9. Hadoop学习之MapReduce(五)

    作业的提交和监控 Job为作业提交者提供了作业的视图,允许用户管理作业,提交作业,控制作业的执行和查询作业状态,比如跟踪map和reduce任务的执行进度.该类提供的set方法只有在作业已经被提交后才 ...

最新文章

  1. python正确的输入语句_手把手教你在python中如何使用while True语句
  2. 1024X768大图 (Wallpaper)
  3. Linux下安装nginx (tar解压版安装) nginx1.16.1
  4. python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录
  5. ajax里绑定框,Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)
  6. 用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解
  7. python写算法快吗_用python写排序算法
  8. @codeforces - 786E@ ALT
  9. 谷歌地图离线包-尝试
  10. java 换行符 ascii码_java换行怎么写
  11. 08cms中error_08cms_licens 故障
  12. 使用wps-excell画折线图
  13. 总结:图像识别的机器学习方法
  14. PAT乙级 打印沙漏(20)
  15. 一个测试经理/测试主管/测试总监的工作总结
  16. linux系统分区支持ntfs吗,如何使Linux支持NTFS分区
  17. Python 爬虫QQ音乐
  18. javaweb学习笔记(六)
  19. 微信小程序中开发的小坑
  20. ORB-SLAM2 --- KeyFrame::AddConnection函数

热门文章

  1. Charpter 8:Declarative Middleware Using AOP:expert one-on-one J2EE Development without EJB.(读后感)...
  2. 忙~~~~~~~~~~~~~~~~~
  3. sizeof()使用注意
  4. python3.6执行pip3时 Unable to create process using ''
  5. Android 音频播放——AudioTrack直接播PCM、MediaPlayer播媒体文件可以是audio
  6. Linux 内核定时器使用 二 高精度定时器 hrtimer 的用例
  7. oracle数据库 spring,oracle spring 连接数据库 报错
  8. mysql 从数据库配置文件_mysql数据库配置文件
  9. 三维数组地址计算_科学计算NumPy
  10. python不可变的列表被称为_【Python学习】可变类型和不可变类型