- 0
- 0
- 约1.29万字
- 约 22页
- 2026-01-08 发布于四川
- 举报
•Writable自定义类实战
1.修改WordCount类中Mapper的key,改为自定义WritableCompable类型,自定义类每个
单词的内容和单词的长度,执行M/R程序,让输出变为如下形式:
wordcount
[word=Alexia,len=6]2
2.修改上例中Mapper的Value,改为自定义Writable类型,自定类型单词的长度和出现次数
注意:实现WritableCompare接口,需要重写toString,hashCode,equals方法
•输入-InputFormat接口
在实战之前,先来复下上章节关于M/R程序文件输入的内容,从上节我们知道,
InputFormat会为M/R程序InputSplit分片,并将分片转化为相应格式,传给map函数.
Hadoop为了简化我们的编程,了一个所有文件操作的基类FileInputFormat,其实现了对输
入文件计算split的方法,但是对于获取记录的方法是有不同的子类实现(如:TextInputFormat
)
•InputSplit分片说明
1.在执行mapreduce之前,原始数据被分割成若干split,每个splitmap任务的输入,在
map执行过程中split会被分解成一个个记录(key-value对),map会依次处理每一个记录
2.FileInputFormat只划分比HDFSblock大的文件,所以FileInputFormat划分的结果是这个文件
或者是这个文件中的一部分
3.如果一个文件的大小比block小,将不会被划分
4.当Hadoop处理很多小文件(文件大小小于hdfsblock大小)的时候,由于FileInputFormat不会
对小文件进行划分,所以每一个小文件都会被当做一个split并分配一个map任务,导致效率
如:一个128M的文件,经过分片后会被划分为2个64M的split,但128个1M的文件,会被当做
128个map任务来处理
•InputFormat自定义类实战
编写一个自定义的InputFormat,利用KeyValueInputFormat以制表符分割的主机名和URL的
文件,并将URL作为URLWritable类型
思路:扩展FileInutFormat生成我们的InputFormat类
1.自定义一个URLWritable的类型
2.扩展FileInputFormat类,实现重写getSplits和createRecordReader方法
•输出-MultiOutputs接口
一般来说Map/Reduce都是输出一组文件,但是有些情况下需要我们输出多组文件,好比不同学
校分成不同组,有些时候数据不整齐,还要把不符合格式要求的数据单独输出。旧版本中划分多
个输出文件主要有2个类实现:MultipleOutputFormat和MultipleOutputs。
新版本中整合了上面旧API两个的功能,没有了MultipleOutputFormat
驱动中不需要额外改变,只需要在MapClass和Reduce类中加入如下代码:
privateMultipleOutputsmos;//定义多文件输出类
//初始化
publicvoidsetup(Contextcontext)throwsIOException,InterruptedException{
mos=newMultipleOutputs(context);
}
publicvoidcleanup(Contextcontext)throwsIOException,InterruptedException{
///流操作必须有,否则在数据量小的情况,数据全
您可能关注的文档
- GB/T 12903-2025个体防护装备术语.pdf
- 中国国家标准 GB/T 12903-2025个体防护装备术语.pdf
- GB/T 20047.1-2025光伏组件安全鉴定 第1部分:结构要求.pdf
- 中国国家标准 GB/T 20047.1-2025光伏组件安全鉴定 第1部分:结构要求.pdf
- 《GB/T 20047.1-2025光伏组件安全鉴定 第1部分:结构要求》.pdf
- 中国国家标准 GB/T 36077-2025精益六西格玛管理评价准则.pdf
- 《GB/T 36077-2025精益六西格玛管理评价准则》.pdf
- GB/T 21715.1-2025健康信息学 患者健康卡数据 第1部分:总体结构.pdf
- 《GB/T 21715.1-2025健康信息学 患者健康卡数据 第1部分:总体结构》.pdf
- 中国国家标准 GB/T 21715.1-2025健康信息学 患者健康卡数据 第1部分:总体结构.pdf
- 中国国家标准 GB/Z 41305.6-2026环境条件 电子设备振动和冲击 第6部分:利用螺旋桨式飞机运输.pdf
- 《GB/T 46969-2025中国图书馆机读规范数据格式》.pdf
- 《GB/T 12903-2025个体防护装备术语》.pdf
- 2025至2030中国负载测试工具行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国钨(VI)氟化物气体市场竞争格局及未来需求趋势分析报告.docx
- 2025至2030中国医用隔离膜产品行业调研及市场前景预测评估报告.docx
- 2025至2030中国铜材市场经营模式分析及竞争趋势预测报告.docx
- 2025至2030中国氙气试验箱行业调研及市场前景预测评估报告.docx
- 2025-2030中国PDLC智能调光膜市场产销需求与竞争前景分析研究报告.docx
- 2025至2030中国电子稳压器行业市场深度研究与战略咨询分析报告.docx
原创力文档

文档评论(0)