MapReduce利用API编程的框架示例

本文介绍了MapReduce编程中关键组件的使用,包括排序器、分组器和分区器,详细阐述了数据如何被打包为K,V,P的形式,并讨论了环形缓冲区的应用,特别是如何使用比较器Comparator进行数据处理,以及Combiner聚合操作的作用。" 79921520,6676695,最小正子序列和的贪心解法,"['算法', '数据结构', '贪心', '前缀和']

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

排序器

分组器

分区器,打成K,V,P的形式

buffer缓冲区是环形的,buffer环形缓冲区

环形缓冲区完了的时候,需要手动写一个比较器comporator

之后是combiner聚合

		//这里是配置层
		Configuration conf=new Configuration(true);
		Job job=Job.getInstance();
		job.setJarByClass(MyMapReduce.class);
		job.setJobName("ooxx");		

		//设置输入的格式
		Path path = new Path("/user/path");
		FileInputFormat.addInputPath(job, path);//设置输入的路径
		FileInputFormat.setInputDirRecursive(job, true);//使用递归循环
		job.setInputFormatClass(sdf.class);//设置输入的格式,默认情况下为text模式
		//需要继承inputformat类
		//The method setInputFormatClass(Class<? extends InputFormat>) 
		//in the type Job is not applicable for the arguments (Class<sdf>)
		
		//设置map端的输入
		job.setMapperClass(MyMapper.class);
		//设置map类方法,需要继承mapper类,并且需要重写里边的map方法
		//The method setMapperClass(Class<? extends Mapper>) 
		//in the type Job is not applicable for the arguments (Class<ss>)
		job.setMapOutputKeyClass(TQ.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值