- 0
- 0
- 约5.28千字
- 约 17页
- 2026-01-22 发布于广东
- 举报
《Hadoop大数据项目实战》
教学目标了解MapReduce的编程模型,熟悉MapReduce数据序列化和分区排序知识知识目标培养学生分析和解决实际问题的能力素养目标掌握利用MapReduce编程模型处理实际应用问题技能目标
任务一酒店数据清洗项目五MapReduce离线数据处理
1.任务要求每一行数据有26个字段,具体字段名参考文件hotel_data.csv第一行。现在任务的需求是对数据文件中存在的不规范的数据进行剔除(比如星级为空的数据),然后再统计不同省份的五星级酒店的个数。
2.设计思路与准备根据MapReduce工作原理可知,MapReduce分为Map和Reduce两个阶段,要剔除不规范的数据,可以在Map阶段对数据进行处理,如果要统计每个省份五星级酒店的个数,可以在Reduce阶段进行汇总,这样可以实现以上需求。然后在IDEA中创建项目并导入项目依赖。
3.Mapper程序编写publicclassHotelMapperextendsMapperLongWritable,Text,Text,IntWritable{@Overrideprotectedvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{//首先将map输入的值转换成字符串Strings=value.toString();//判断字符串中是否存在五星级关键字if(s.contains(五星级)){//每行数据存在五星级关键字的情况下,以省份名为输出的key,值则为1//提取省份名String[]arr=s.split(,);Stringprov=arr[3];//对输出内容进行序列化处理Textk=newText(prov);IntWritablev=newIntWritable(1);//利用context对象的write方法进行输出context.write(k,v);}}}
4.Reducer程序编写publicclassHotelReducerextendsReducerText,IntWritable,Text,IntWritable{@Overrideprotectedvoidreduce(Textkey,IterableIntWritablevalues,Contextcontext)throwsIOException,InterruptedException{inttotal=0;//计算每个省份五星级酒店总的个数for(IntWritablei:values){total=total+i.get();}//将每个省份五星级酒店的总个数进行输出IntWritablev=newIntWritable(total);context.write(key,v);}}
5.Driver程序编写publicclassHotelDriver{publicstaticvoidmain(String[]args)throwsIOException,InterruptedException,ClassNotFoundException{Configurationconf=newConfiguration();Jobjob=Job.getInstance();//利用反射机制关联Jar文件job.setJarByClass(HotelDriver.class);job.setMapperClass(HotelMapper.class);job.setReducerClass(HotelReducer.class);//设置map输出的数据类型job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(IntWr
您可能关注的文档
- 调查湖泊生态系统现状.pdf
- 河流生态系统调查.pdf
- 河流生态系统野外调查.pdf
- 河流生态修复.pdf
- 评估湖泊生态系统建康.pdf
- 评价湿地生态系统健康.pdf
- 湿地生态系统结构.pdf
- 湿地生态与湿地恢复.pdf
- 修复湖泊生态系统破坏.pdf
- 中国的河流资料.pdf
- 中国国家标准 GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具.pdf
- 《GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具》.pdf
- GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 中国国家标准 GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 《GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求》.pdf
- 《GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法》.pdf
- GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用.pdf
- 《GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用》.pdf
原创力文档

文档评论(0)