当前位置: 首页 > news >正文

快速学制作网站七星彩网投网站建设

快速学制作网站,七星彩网投网站建设,投资公司名字,学院网站建设计划使用Hadoop MapReduce实现各省学生总分降序排序#xff0c;根据省份分出输出到不同文件 本文将展示如何使用Hadoop MapReduce对一组学生成绩数据进行处理#xff0c;将各省的学生成绩按总分降序排序并按照省份进行分区将结果分别输出到不同的文件中。 数据样例 我们将使用…使用Hadoop MapReduce实现各省学生总分降序排序根据省份分出输出到不同文件 本文将展示如何使用Hadoop MapReduce对一组学生成绩数据进行处理将各省的学生成绩按总分降序排序并按照省份进行分区将结果分别输出到不同的文件中。 数据样例 我们将使用以下格式的数据 实现步骤 我们将通过以下步骤来实现这一目标 **1、Mapper类**解析每一行数据提取省份和总分并输出为键值对。 **2、Reducer类**对每个省份的数据按总分降序排序后输出到相应的文件中。 **3、Partitioner类**确保同一省份的数据被发送到同一个Reducer。 **4、Driver类**配置并运行MapReduce作业。 代码实现 Mapper类 Mapper类将每一行数据解析为省份和总分并输出为键值对键是省份值是总分和学生信息的组合。 package org.example.mapReduce;import java.io.IOException; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper;public class ProvinceScoreMapper extends MapperObject, Text, Text, Text {Overrideprotected void map(Object key, Text value, Context context) throws IOException, InterruptedException {String line value.toString();// Skip the header lineif (line.startsWith(考号)) {return;}String[] fields line.split( );String province fields[11];String totalScore fields[10];context.write(new Text(province), new Text(totalScore , line));} } Reducer类 Reducer类将每个省份的数据按总分降序排序后输出使用MultipleOutputs将每个省的数据写入单独的文件。 package org.example.mapReduce;import java.io.IOException; import java.util.Collections; import java.util.LinkedList; import java.util.List; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;public class ProvinceScoreReducer extends ReducerText, Text, Text, Text {private MultipleOutputsText, Text multipleOutputs;Overrideprotected void setup(Context context) throws IOException, InterruptedException {multipleOutputs new MultipleOutputs(context);}Overrideprotected void reduce(Text key, IterableText values, Context context) throws IOException, InterruptedException {ListString students new LinkedList();for (Text val : values) {students.add(val.toString());}// Sort students by total score in descending orderCollections.sort(students, (a, b) - {int scoreA Integer.parseInt(a.split(,)[0]);int scoreB Integer.parseInt(b.split(,)[0]);return Integer.compare(scoreB, scoreA);});for (String student : students) {String[] parts student.split(,, 2);multipleOutputs.write(new Text(parts[1]), null, key.toString() /part);}}Overrideprotected void cleanup(Context context) throws IOException, InterruptedException {multipleOutputs.close();} } Partitioner类 Partitioner类确保同一省份的数据被发送到同一个Reducer。 package org.example.mapReduce;import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Partitioner;public class ProvincePartitioner extends PartitionerText, Text {Overridepublic int getPartition(Text key, Text value, int numPartitions) {String province key.toString();return (province.hashCode() Integer.MAX_VALUE) % numPartitions;} } Driver类 Driver类配置并运行MapReduce作业。 package org.example.mapReduce;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;public class ProvinceScoreSorter {public static void main(String[] args) throws Exception {if (args.length ! 2) {System.err.println(Usage: ProvinceScoreSorter input path output path);System.exit(-1);}Configuration conf new Configuration();Job job Job.getInstance(conf, Province Score Sorter);job.setJarByClass(ProvinceScoreSorter.class);job.setMapperClass(ProvinceScoreMapper.class);job.setPartitionerClass(ProvincePartitioner.class);job.setReducerClass(ProvinceScoreReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);FileInputFormat.addInputPath(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));MultipleOutputs.addNamedOutput(job, province, FileOutputFormat.class, Text.class, Text.class);System.exit(job.waitForCompletion(true) ? 0 : 1);} } 运行MapReduce作业 总结 通过以上步骤我们实现了一个Hadoop MapReduce作业来对各省的学生总分进行降序排序并将结果写入不同的文件中。 如有遇到问题可以找小编沟通交流哦。另外小编帮忙辅导大课作业学生毕设等。不限于MapReduce MySQL, pythonjava大数据模型训练等。 hadoop hdfs yarn spark Django flask flink kafka flume datax sqoop seatunnel echart可视化 机器学习等
http://www.w-s-a.com/news/183143/

相关文章:

  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发
  • asp 网站权限设计做网站业务员
  • 做棋牌网站违法嘛网络服务网络推广
  • 专门做推广的网站吗免费建域名网站
  • 在百度做网站株洲网站平台搭建
  • 用node做的网站南宁网站定制开发
  • 做刷单网站犯法吗wordpress depth
  • 潍坊青州网站建设少儿编程app
  • 表白网站制作源代码自己怎么免费做网站网页
  • 开源网站建设是什么工作个人虚拟网站
  • 网站制作的一般过程优化关键词排名公司
  • 如何使用阿里云建设网站网站两边广告
  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪