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

为什么幼儿园需要网站建设情况关键词优化排名软件推荐

为什么幼儿园需要网站建设情况,关键词优化排名软件推荐,wordpress表单编辑插件,嘉兴做网站问题: 使用java语言编辑,实现一个Hadoop MapReduce任务,对大数据集中的数值进行排序和筛选。 解答思路: 下面是一个使用Java编写的Hadoop MapReduce任务,该任务将读取一个数值数据集,然后对数值进行排序和筛…

问题:

       使用java语言编辑,实现一个Hadoop MapReduce任务,对大数据集中的数值进行排序和筛选。

解答思路:

       下面是一个使用Java编写的Hadoop MapReduce任务,该任务将读取一个数值数据集,然后对数值进行排序和筛选。我们将筛选出大于某个特定阈值的数值,并对这些数值进行排序。

       首先,我们需要定义Map类、Reduce类和驱动类。

'IntSumMapper.java':

import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class IntSumMapper extends Mapper<Object, Text, IntWritable, IntWritable> {private final static IntWritable one = new IntWritable(1);private IntWritable outputKey = new IntWritable();public void map(Object key, Text value, Context context) throws IOException, InterruptedException {// 将输入的文本转换成整数int number = Integer.parseInt(value.toString());// 输出该整数及其计数1outputKey.set(number);context.write(outputKey, one);}}

'IntSumReducer.java':

import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Reducer;import java.io.IOException;public class IntSumReducer extends Reducer<IntWritable, IntWritable, IntWritable, Text> {private IntWritable result = new IntWritable();private Text outputValue = new Text();public void reduce(IntWritable key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {int sum = 0;for (IntWritable val : values) {sum += val.get();}result.set(sum);// 仅当数值大于阈值时输出if (sum > 1000) { // 假设阈值为1000outputValue.set(Integer.toString(sum));context.write(key, outputValue);}}}

'IntSumDriver.java':

 

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;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;public class IntSumDriver {public static void main(String[] args) throws Exception {if (args.length != 2) {System.err.println("Usage: IntSumDriver <input path> <output path>");System.exit(-1);}Configuration conf = new Configuration();Job job = Job.getInstance(conf, "int sum");job.setJarByClass(IntSumDriver.class);job.setMapperClass(IntSumMapper.class);job.setCombinerClass(IntSumReducer.class);job.setReducerClass(IntSumReducer.class);job.setOutputKeyClass(IntWritable.class);job.setOutputValueClass(Text.class);job.setSortComparatorClass(LongWritable.class); // 使用LongWritable作为排序的keyjob.setGroupingComparatorClass(LongWritable.class); // 确保所有数值都在一起进行reduceFileInputFormat.addInputPath(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));System.exit(job.waitForCompletion(true) ? 0 : 1);}}

编译这些类:

javac -d classes IntSumMapper.java IntSumReducer.java IntSumDriver.java

打包成jar文件:

jar -cvf IntSum.jar -C classes .

在Hadoop集群上运行MapReduce作业:

hadoop jar IntSum.jar IntSumDriver /input /output

       这里'/input'是输入数据所在的HDFS路径,'/output'是输出结果将写入的HDFS路径。

       该程序将输出所有大于1000的数值,并且这些数值是排序后的。需要注意,这里我们使用了'LongWritable'作为排序的key,因为'IntWritable'不能直接用于排序,而且'IntWritable'的排序是字典序,而不是数值序。使用'LongWritable'可以确保数值按照数值大小进行排序。如果你的数值范围在'IntWritable'的有效范围内,你可以直接使用'IntWritable'。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

http://www.dtcms.com/wzjs/198495.html

相关文章:

  • 做外语网站百度seo优化教程免费
  • 外国食品优秀设计网站公司快速建站
  • 临沧网站建设张北网站seo
  • 什么是网页设计与网站建设新站如何快速收录
  • 网站地图怎么上传app优化
  • 淘宝联盟怎么自己做网站国内seo公司排名
  • 特产网站模板苏州seo培训
  • 免费的网站开发平台网站推广在线推广
  • 网站设计网站公司大白兔网络营销策划书
  • 做俄罗斯外贸网站整站优化深圳
  • dw做网站banner软文营销网站
  • 个人主页设计图网站关键词怎么优化到首页
  • 交易所网站建设教程品牌广告语
  • 新网站怎样做好外链常州网站seo
  • 学院网站建设wbs考研培训机构排名前十
  • 国内好的网站设计百度搜索关键词优化
  • 网站制作公司技术部门网站建设方案书 模板
  • 找做网站搜索引擎搜索器
  • 前端做学校网站教务首页
  • 迅雷下载宝 做网站制作网站教学
  • 没有做老千的斗牛网站6自己做网站如何赚钱
  • 做剧情游戏的网站淘宝seo排名优化
  • 公司申请邮箱怎么申请晋城seo
  • 包头做网站哪家好长沙免费网站建站模板
  • 做企业网站的要点代码优化
  • 可靠的坪山网站建设泰州seo推广
  • 梨树做网站郑州网站营销推广公司
  • wordpress url 替换seo需要掌握什么技能
  • wordpress简单易懂的网站关键词在线试听免费
  • saas建站平台源码精准营销方式有哪些