hadoop学习笔记(1)

本文深入探讨了MapReduce的工作流程,包括inputformat()和inputsplit的处理方式、outputFormat()、Map、Reduce、context对象、job的配置以及控制流与数据流的概念。详细解释了从数据输入到最终输出的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.inputformat()和inputsplit

~format():用来生产供Map使用的 <key,value>(调用getRecord()方法生产RecordReader,RecordReader再通过creatKey()和creatValue(创建<key,value>)
~split:存储和把输入的数据(分片长度和一个记录数据位置的数组)传送给每一个单独的Map(可以通过inputformat()来设置)。

2.outputFormat()

对于每种输入格式都有一种输出格式与其对应。

3.Map(输入Key,输入Value,输出Key,输出value)

接收经过inputformat处理的<k1,v1>输出<k2,v2> 继承Maper抽象类,四个类型的参数

4.Reduce()
用Map()类推
5.context对象

  • 使用MapContext进行MapReduce间的通信充当OutputCollector和Reporter的角色

6.job的配置

统一由Configurartion来完成。

这里写图片描述

  • 控制流:负责控制和调度Mapreduce的job的是jobTracker,负责运行的是TaskTracker(Map Task和Reduce Task)不是一个完整的job,即:jobTracker调度任务给TaskTracker,TaskTracker执行任务,返回调度结果。

  • 数据流:数据经过inputformat处理生产相应数目的inputsplit,输入到Map中,Map读取inputsplit指定位置的数据,按照设定的方式处理数据,最后写到指定位置(如:本地磁盘),reduce读取map输出的数据,合并value,然后输出到HDFS上

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值