【Hadoop 实验六】 MapReduce实验

合集下载

hadoopmr数据处理实验报告 -回复

hadoopmr数据处理实验报告 -回复

hadoopmr数据处理实验报告-回复Hadoop MapReduce 数据处理实验报告Hadoop MapReduce(Hadoop 分布式计算框架)是一个应用于大规模数据处理的开源框架,它能够高效地并行处理海量数据。

本实验报告利用Hadoop MapReduce 对数据进行处理的过程进行详细说明,并阐述了MapReduce 的工作原理以及实验的结果和分析。

一、引言在大数据时代,海量数据的处理已成为信息技术领域急需解决的问题。

Hadoop 是一个著名的大数据处理框架,其核心是Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)和Hadoop MapReduce。

MapReduce 是一种编程模型,它能够将数据分割成多个块,并将其分发到集群中的不同节点上进行并行处理。

本实验通过使用Hadoop MapReduce 进行数据处理,旨在深入了解MapReduce 的工作原理及其在大规模数据处理中的应用。

二、Hadoop MapReduce的工作原理Hadoop MapReduce 的工作原理可以简单概括为Map 阶段和Reduce 阶段。

具体而言,MapReduce 过程包含以下几个步骤:1. 分割:将输入数据分割成大小一致的块,每个块称为一个Input Split。

2. 映射:在每个节点上,将输入分割交给Map 函数处理。

Map 函数将每个键值对映射为多个中间键值对,中间键值对由键和值组成。

3. 排序:将所有中间键值对按键进行排序,并将键值对按照相同的键分组。

4. 归约:在每个节点上,将分组后的键值对输入给Reduce 函数进行处理。

Reduce 函数将相同键的多个值聚合为一个输出键值对。

5. 合并:将不同节点上的Reduce 输出合并为一个结果。

三、实验步骤1. 数据准备:选择适合的数据集进行实验,确保数据具有一定的规模性和真实性。

2. 安装配置:在一台或多台计算机上搭建Hadoop 分布式计算环境,并进行相关配置。

mapreduce实验小结

mapreduce实验小结

mapreduce实验小结MapReduce 是一种编程模型,用于处理和生成大数据集,其核心理念是“分而治之”。

它首先将大规模数据集分割成若干小的子集,然后在分布式系统上的各个节点并行处理这些子集,并整合处理结果。

下面是我对 MapReduce 实验的小结:1. 实验目标:本次实验的目标是熟悉 MapReduce 的基本概念和编程模型,通过实现一个简单的 MapReduce 任务(如 WordCount)来掌握其工作流程和关键步骤。

2. 环境搭建:我们使用了 Hadoop,这是一个流行的开源分布式计算框架,用于实现 MapReduce。

我们首先配置了 Hadoop 集群环境,包括一个 NameNode 和多个 DataNode。

3. 数据准备:为了进行 MapReduce 实验,我们准备了一个文本数据集。

这个数据集可以是一个或多个文本文件,包含了我们想要分析的文本数据。

4. MapReduce 任务实现:Map 阶段:在此阶段,我们实现了一个 Map 函数,它读取输入数据(文本文件中的每一行),然后输出一系列的键值对。

对于WordCount 任务,Map 函数将每一行文本拆分成单词,并输出每个单词及其计数 1。

Shuffle 阶段:此阶段是框架自动完成的,它将 Map 阶段输出的键值对按照键进行排序和分组。

Reduce 阶段:在此阶段,我们实现了一个 Reduce 函数,它接收 Shuffle 阶段输出的键值对,并对每个键的值进行聚合。

对于WordCount 任务,Reduce 函数将计算每个单词的总数。

5. 任务执行与结果查看:我们使用 Hadoop 命令行工具提交了MapReduce 任务,并监视了其执行状态。

任务完成后,我们查看了输出结果,验证了 MapReduce 任务的正确性。

6. 实验总结:优点:MapReduce 模型非常适合处理大规模数据集,因为它能够充分利用分布式系统的并行计算能力。

Hadoop实验-HDFS与Mapreduce操作

Hadoop实验-HDFS与Mapreduce操作

Hadoop实验-HDFS与Mapreduce操作⼀、实验⽬的1、利⽤虚拟机搭建集群部署hadoop2、HDFS⽂件操作以及⽂件接⼝编程;3、MAPREDUCE并⾏程序开发、发布与调⽤。

⼆、实验内容1、虚拟机集群搭建部署hadoop利⽤VMware、centOS-7、Xshell(secureCrt)等软件搭建集群部署hadoop,具体操作参照https:///video/BV1Kf4y1z7Nw?p=12、HDFS⽂件操作(1)在分布式⽂件系统上验证HDFS⽂件命令[-ls <path>] //显⽰⽬标路径当前⽬录下的所有⽂件[-du <path>] //以字节为单位显⽰⽬录中所有⽂件的⼤⼩,或该⽂件的⼤⼩(如果path为⽂件)(2). HDFS⽂件操作调⽤HDFS⽂件接⼝实现对分布式⽂件系统中⽂件的访问,如创建、修改、删除等。

源代码:package mapreduce;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.log4j.BasicConfigurator;public class test {public static void main(String[] args) {BasicConfigurator.configure();try {Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);String filename = "hdfs://node01:8020/user/test.txt";FSDataOutputStream os = fs.create(new Path(filename));byte[] buff = "hello world!".getBytes();os.write(buff, 0, buff.length);System.out.println("Create" + filename);} catch (Exception e) {e.printStackTrace();}}}运⾏结果:3.MAPREDUCE并⾏程序开发1)求每年最⾼⽓温源代码:package mapreduce;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class Temperature {static class TempMapper extends Mapper<LongWritable, Text, Text, IntWritable> {@Overridepublic void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { System.out.print("Before Mapper: " + key + ", " + value);String line = value.toString();String year = line.substring(0, 4);int temperature = Integer.parseInt(line.substring(8));context.write(new Text(year), new IntWritable(temperature));System.out.println("======" + "After Mapper:" + new Text(year) + ", " + new IntWritable(temperature));}}static class TempReducer extends Reducer<Text, IntWritable, Text, IntWritable> {@Overridepublic void reduce(Text key, Iterable<IntWritable> values, Context context)throws IOException, InterruptedException {int maxValue = Integer.MIN_VALUE;StringBuffer sb = new StringBuffer();for (IntWritable value : values) {maxValue = Math.max(maxValue, value.get());sb.append(value).append(",");}System.out.print("Before Reduce: " + key + ", " + sb.toString());context.write(key, new IntWritable(maxValue));System.out.println("======" + "After Reduce: " + key + ", " + maxValue);}}public static void main(String[] args) throws Exception {String dst = "hdfs://node01:8020/user/zzy/input.txt";String dstOut = "hdfs://node01:8020/user/zzy/output";Configuration hadoopConfig = new Configuration();hadoopConfig.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName()); hadoopConfig.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());Job job = new Job(hadoopConfig);// job.setJarByClass(NewMaxTemperature.class);FileInputFormat.addInputPath(job, new Path(dst));FileOutputFormat.setOutputPath(job, new Path(dstOut));job.setMapperClass(TempMapper.class); job.setReducerClass(TempReducer.class); job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class); job.waitForCompletion(true);System.out.println("Finished");}}运⾏结果:(2)词频统计源代码:import java.io.IOException;import ng.StringUtils;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;public class WordCountMapper extends Mapper<LongWritable, Text, Text, LongWritable> {@Overrideprotected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, LongWritable>.Context context) throws IOException, InterruptedException {String[] words = StringUtils.split(value.toString(), " ");for (String word : words) {context.write(new Text(word), new LongWritable(1));}}}import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Reducer;public class WordCountReducer extends Reducer<Text, LongWritable, Text, LongWritable> {@Overrideprotected void reduce(Text arg0, Iterable<LongWritable> arg1,Reducer<Text, LongWritable, Text, LongWritable>.Context context) throws IOException, InterruptedException {int sum = 0;for (LongWritable num : arg1) {sum += num.get();}context.write(arg0, new LongWritable(sum));}}import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;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.input.TextInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;import org.apache.log4j.BasicConfigurator;public class WordCountRunner {public static void main(String[] args)throws IllegalArgumentException, IOException, ClassNotFoundException, InterruptedException { BasicConfigurator.configure();Configuration conf = new Configuration();Job job = new Job(conf);job.setJarByClass(WordCountRunner.class);job.setJobName("wordcount");job.setOutputKeyClass(Text.class);job.setOutputValueClass(LongWritable.class);job.setMapperClass(WordCountMapper.class);job.setReducerClass(WordCountReducer.class);job.setInputFormatClass(TextInputFormat.class);job.setOutputFormatClass(TextOutputFormat.class);FileInputFormat.addInputPath(job, new Path("hdfs://node01:8020/user/zzy/input_wordcount.txt"));// 输⼊路径FileOutputFormat.setOutputPath(job, new Path("hdfs://node01:8020/user/zzy/output_wordcount"));// 输出路径job.waitForCompletion(true);}}运⾏结果:。

mapreduce编程实验报告心得

mapreduce编程实验报告心得

mapreduce编程实验报告心得【实验报告心得】总结:本次mapreduce编程实验通过实际操作,使我对mapreduce编程框架有了更深入的理解。

在实验过程中,我学会了如何编写map和reduce函数,并利用这些函数从大数据集中进行数据提取和聚合分析。

通过这个实验,我还掌握了如何调试和优化mapreduce任务,以提高数据处理效率和性能。

一、实验目的:本次实验的目的是掌握mapreduce编程框架的使用方法,理解其实现原理,并在实际编程中熟练运用map和reduce函数进行数据处理和分析。

二、实验环境和工具:本次实验使用Hadoop分布式计算框架进行mapreduce编程。

使用的工具包括Hadoop集群、HDFS分布式文件系统以及Java编程语言。

三、实验过程:1. 实验准备:在开始实验前,我首先了解了mapreduce的基本概念和特点,以及Hadoop集群的配置和使用方法。

2. 实验设计:根据实验要求,我选择了一个适当的数据集,并根据具体需求设计了相应的map和reduce函数。

在设计过程中,我充分考虑了数据的结构和处理逻辑,以保证mapreduce任务的高效完成。

3. 实验编码:在实验编码过程中,我使用Java编程语言来实现map 和reduce函数。

我按照mapreduce编程模型,利用输入键值对和中间结果键值对来进行数据处理。

在编码过程中,我注意了代码的规范性和可读性,并进行了适当的优化。

4. 实验测试:完成编码后,我在Hadoop集群上部署和运行了我的mapreduce任务。

通过对数据集进行分析和处理,我验证了自己编写的map和reduce函数的正确性和性能。

5. 实验总结:在实验结束后,我对本次实验进行了总结。

我分析了实验中遇到的问题和挑战,并提出了相应的解决方法。

我还对mapreduce编程框架的优缺点进行了评估,并给出了自己的观点和建议。

四、实验结果和观点:通过本次实验,我成功实现了对选定数据集的mapreduce处理。

实验6 初识mapreduce

实验6 初识mapreduce

实验报告封面课程名称: Hadoop大数据处理课程代码: JY1124任课老师:陈宁穗实验指导老师: 陈宁穗实验报告名称:实验6 初识Mapreduce学生姓名:学号:教学班:递交日期:签收人:我申明,本报告内的实验已按要求完成,报告完全是由我个人完成,并没有抄袭行为。

我已经保留了这份实验报告的副本。

申明人(签名):实验报告评语与评分:评阅老师签名:一、实验名称:初识Mapreduce二、实验日期:2015年月日三、实验目的:熟悉Mapreduce。

四、实验用的仪器和材料:硬件:PC电脑一台;配置:内存,4G及以上硬盘250G及以上软件环境:操作系统XP,vmware,ubuntu,jdk,hadoop五、实验的步骤和方法:请用命令完成以下操作1、进入grid用户本地系统根目录,创建一个input目录。

2、进入input目录,通过语句echo “hello world”>test1.txt,echo “hellohadoop” >test2.txt分别创建test1.txt文件和test2.txt文件,并查看确定里面内容。

3、进入hadoop-1.2.1安装目录,将刚才创建的input目录下的两文件上传到HDFS下的/user/yln(自己名字目录)/in目录下,并查看验证截图。

4、执行语句bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in output,查看分析结果六、数据记录和计算:写语句及截图七、实验结果或结论:即根据实验过程中所见到的现象和测得的数据,作出结论。

八、备注或说明:可写上实验成功或失败的原因,实验后的心得体会、建议等。

九、引用参考文献:1. 陆嘉恒Hadoop实战.机械工业出版社。

mapreduce词频统计实验过程

mapreduce词频统计实验过程

mapreduce词频统计实验过程mapreduce是一种分布式计算框架,被广泛应用于大数据处理中。

其核心思想是将任务分为两个阶段,分别为map和reduce阶段。

其中,map 阶段将输入数据切分为一个个的小块,并由多个workers并行处理;而reduce阶段则汇总并合并map阶段的输出结果,生成最终的统计结果。

在本文中,我将介绍使用mapreduce进行词频统计的实验过程。

首先,我们需要准备实验环境。

在介绍实验环境之前,我们需要先了解一下mapreduce的基本组成部分。

mapreduce由一个master节点和多个worker节点组成。

每个worker节点都有自己的计算资源和存储空间。

在实验中,我将使用三台虚拟机作为worker节点,另一台虚拟机作为master 节点。

接下来,我们需要编写并运行map和reduce函数。

在本次实验中,我们将使用Python编写这两个函数。

map函数的作用是将输入数据切分为若干个小块,并对每个小块进行词频统计。

具体的代码如下所示:pythondef map_function(data):words = data.split()word_count = {}for word in words:if word in word_count:word_count[word] += 1else:word_count[word] = 1return word_count在这段代码中,我们首先将输入数据按空格切分成一个个的单词。

然后,我们使用一个字典来统计每个单词出现的次数。

最终,我们将这个字典作为map函数的输出。

接下来,我们需要编写reduce函数。

reduce函数的作用是将map阶段输出的结果进行合并,并生成最终的词频统计结果。

具体的代码如下所示:pythondef reduce_function(word_counts):result = {}for word_count in word_counts:for word, count in word_count.items():if word in result:result[word] += countelse:result[word] = countreturn result在这段代码中,我们首先定义了一个空字典result,用于保存最终的统计结果。

mapreduce实验报告总结

mapreduce实验报告总结一、引言MapReduce是一种用于处理和生成大数据集的编程模型和模型化工具,它由Google提出并广泛应用于各种大数据处理场景。

通过MapReduce,我们可以将大规模数据集分解为多个小任务,并分配给多个计算节点并行处理,从而大大提高了数据处理效率。

在本实验中,我们通过实践操作,深入了解了MapReduce的工作原理,并尝试解决了一些实际的大数据处理问题。

二、实验原理MapReduce是一种编程模型,它通过两个核心阶段——Map阶段和Reduce阶段,实现了对大规模数据的处理。

Map阶段负责处理输入数据集中的每个元素,生成一组中间结果;Reduce阶段则对Map阶段的输出进行汇总和聚合,生成最终结果。

通过并行处理和分布式计算,MapReduce可以在大量计算节点上高效地处理大规模数据集。

在本实验中,我们使用了Hadoop平台来实现MapReduce模型。

Hadoop是一个开源的分布式计算框架,它提供了包括MapReduce在内的一系列数据处理功能。

通过Hadoop,我们可以方便地搭建分布式计算环境,实现大规模数据处理。

三、实验操作过程1.数据准备:首先,我们需要准备一个大规模的数据集,可以是结构化数据或非结构化数据。

在本实验中,我们使用了一个包含大量文本数据的CSV文件。

2.编写Map任务:根据数据处理的需求,我们编写了一个Map任务,该任务从输入数据集中读取文本数据,提取出关键词并进行分类。

3.编写Reduce任务:根据Map任务的输出,我们编写了一个Reduce任务,该任务将相同关键词的文本数据进行汇总,生成最终结果。

4.运行MapReduce作业:将Map和Reduce任务编译成可执行脚本,并通过Hadoop作业调度器提交作业,实现并行处理。

5.数据分析:获取处理后的结果,并进行数据分析,以验证数据处理的有效性。

四、实验结果与分析实验结束后,我们得到了处理后的数据结果。

mapreduce编程实例实验总结

mapreduce编程实例实验总结在这个实验总结中,我要讲述的是关于MapReduce编程实例的经验和教训。

在进行MapReduce编程实例实验期间,我们的目标是使用MapReduce框架来解决大规模数据处理的问题。

我们首先需要理解MapReduce的基本概念和原理,以及它的工作流程。

在实验过程中,我首先意识到编写高效的MapReduce程序需要充分理解输入数据的特点和问题的要求。

我学会了通过合理的数据划分和分布,以及适当的数据类型选择和优化,来提高程序性能和可扩展性。

其次,在实验中我开始注重输入数据的预处理和清洗工作。

数据的准确性和一致性对于MapReduce处理过程的正确性至关重要。

我学会了使用适当的数据结构和算法来处理和筛选输入数据,以确保我们得到可靠的结果。

另外,在编写程序时,我熟悉并使用了Map和Reduce函数的操作。

Map函数可以将输入数据转化为键值对的形式,而Reduce函数则根据键值对进行数据的聚合和计算。

合理地设计和实现这些函数对于程序的正确性和效率至关重要。

此外,我还学会了有效地使用MapReduce框架提供的一些工具和函数。

例如,我使用了Combiner函数来实现MapReduce结果的局部聚合,从而减少数据传输和减轻Reduce的负担。

我还使用Counters工具来监控和统计程序中的特定事件和信息。

最后,在实验总结中,我认识到调试和优化MapReduce程序是一个迭代和持续的过程。

通过对程序的性能和输出结果的不断分析和改进,我能够不断提升程序的效率和可靠性。

总的来说,在本次MapReduce编程实例实验中,我收获了对MapReduce框架的深入理解和熟练应用。

通过不断探索和实践,我学会了如何编写高效、稳定的MapReduce程序,并在处理大规模数据时取得了令人满意的结果。

这次实验对于我在大数据处理领域的学习和发展具有重要的意义。

mapreduce编程实例——词频统计实验总结

mapreduce编程实例——词频统计实验总结
本次实验是使用MapReduce编程模型进行词频统计。

实验中首先了解了MapReduce的概念和原理,然后根据实际需求编写了相应的Mapper和Reducer函数,最后通过Hadoop集群执行MapReduce任务进行词频统计。

在实验过程中,遇到了一些问题和难点,下面对实验过程进行总结和分析。

首先,在编写Mapper函数时,需要从输入数据中获取每个单词,并将其转化为键值对的形式进行输出。

在这个过程中,需要注意对输入数据进行预处理,包括分词、过滤停用词等,以保证输出结果的准确性。

其次,在编写Reducer函数时,需要对Mapper输出的键值对进行合并和统计。

在这个过程中,需要使用哈希表等数据结构来保存中间结果,以便进行合并和统计操作。

最后,在提交MapReduce任务时,需要配置好Hadoop集群的相关参数,包括输入路径、输出路径、Mapper和Reducer类等。

在这个过程中,需要注意使用合适的数据格式,以及对任务进行适当的拆分和分配,以提高任务的执行效率和并行度。

通过本次实验,我进一步了解了MapReduce编程模型的原理和应用,掌握了编写MapReduce程序的基本方法和技巧。

同时,也感受到了MapReduce在
大数据处理方面的高效性和可扩展性。

在今后的实际工作中,我将进一步应用和拓展这方面的知识,为数据分析和处理提供有效的解决方案。

云计算MapReduce和HDFS的实验报告

由于HDFS中不存在root用户,所以客户机当前登录用户无法向HDFS中写入数据,因为对HDFS中的所有目录没有写权限,只有r读权限。要使当前用户能够向HDFS中写入数据,必须在HDFS中创建root用户并且创建相应目录,赋予相关权限。
总之,HDFS的用户权限和Linux一样重要。
3.1.4 HDFS用户管理
即hadoop dfs -mkdir /user/root
(ii)更改/user/root目录所属用户和组,
即hadoop dfs -chown -Rroot:root/user/root,命令执行完毕Hadoop将默认创建有用户root,用户组root。
注意:若此处没有指定组,则默认将root用户分配到supergroup组,bin/hadoop dfs -chown -R root /user/root
第一列是目录权限,第二列的hadoop是目录拥有者,第三列是组名,第4列是目录大小(单位是B),第5列是目录的绝对路径。这里表示/目录下有三个目录。这里的用户hadoop是安装hadoop的用户,是超级用户,相当于Linux操作系统的root用户,组supergroup相当于root用户组。
3.1.3列出当前用户主目录下的文件
Hadoop默认当前HDFS中的用户就是当前登录客户机的用户。
[root@hadoop1~]# hadoop dfs –ls
ls: Cannot access .: No such file or directory.
提示不能访问时因为hdfs中没有/user/root目录。
注意:这里的当前用户主目录是客户机中当前登录用户的主目录,即HDFS中的“/user/用户名”目录,由于当前是root用户登录,命令“bin/hadoop dfs –ls”访问的是HDFS中的“/user/root目录”。此时若/user/root目录不存在,则会出现上面的提示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop 1.0.4 MapReduce实验
Create: Linou
Last Update:
Version:
Contents
1使用Java API导入文件到HDFS (3)
1.1 代码 (3)
1.2 运行 (3)
1.3 结果检查 (4)
2Java API操作HDFS文件 (4)
2.1 代码 (4)
2.2 运行 (5)
2.3 结果检查 (5)
3WordCount (5)
3.1 代码 (5)
3.2 运行 (7)
3.3 结果检查 (9)
4使用MR分析手机日志 (10)
4.1 代码 (10)
4.2 运行 (12)
4.3结果检查 (13)
5项目性能优化 (14)
5.1 代码 (14)
5.2 运行 (16)
5.3 结果检查 (17)
6结果分类汇总 (18)
6.1 代码 (18)
6.2 运行 (21)
6.3 结果检查 (22)
7汇总结果排序 (23)
7.1 代码 (23)
7.2 运行 (26)
7.3 结果检查 (27)
1使用Java API导入文件到HDFS 1.1 代码
1.2 运行
1.3 结果检查
2Java API操作HDFS文件2.1 代码
2.2 运行
2.3 结果检查
3WordCount 3.1 代码
3.2 运行
3.3 结果检查
4使用MR分析手机日志4.1 代码
4.2 运行
4.3结果检查
5项目性能优化5.1 代码
5.2 运行
5.3 结果检查
6结果分类汇总6.1 代码
6.2 运行
6.3 结果检查
7汇总结果排序7.1 代码
7.2 运行
7.3 结果检查
8查找最高气温8.1 代码
8.2 运行
8.3 结果
9汇总结果排序8.1 代码
8.2 运行
8.3 结果
10汇总结果排序8.1 代码
8.2 运行
8.3 结果
11汇总结果排序8.1 代码
8.2 运行
8.3 结果
12汇总结果排序8.1 代码
Reduce
8.2 运行
8.3 结果
13汇总结果排序8.1 代码
8.2 运行
8.3 结果
14汇总结果排序8.1 代码
Map
8.2 运行
8.3 结果
15汇总结果排序8.1 代码
8.2 运行
8.3 结果
16汇总结果排序8.1 代码
Driver
8.2 运行
8.3 结果。

相关文档
最新文档