我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MapReduce的基本内容是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MapReduce的基本内容是什么

这篇文章将为大家详细讲解有关MapReduce的基本内容是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、WordCount程序

1.1 WordCount源程序

import java.io.IOException;
import java.util.Iterator;
import java.util.StringTokenizer;
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.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class WordCount {
    public WordCount() {
    }
     public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        String[] otherArgs = (new GenericOptionsParser(conf, args)).getRemainingArgs();
        if(otherArgs.length < 2) {
            System.err.println("Usage: wordcount <in> [<in>...] <out>");
            System.exit(2);
        }
        Job job = Job.getInstance(conf, "word count");
        job.setJarByClass(WordCount.class);
        job.setMapperClass(WordCount.TokenizerMapper.class);
        job.setCombinerClass(WordCount.IntSumReducer.class);
        job.setReducerClass(WordCount.IntSumReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class); 
        for(int i = 0; i < otherArgs.length - 1; ++i) {
            FileInputFormat.addInputPath(job, new Path(otherArgs[i]));
        }
        FileOutputFormat.setOutputPath(job, new Path(otherArgs[otherArgs.length - 1]));
        System.exit(job.waitForCompletion(true)?0:1);
    }
    public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {
        private static final IntWritable one = new IntWritable(1);
        private Text word = new Text();
        public TokenizerMapper() {
        }
        public void map(Object key, Text value, Mapper<Object, Text, Text, IntWritable>.Context context) throws IOException, InterruptedException {
            StringTokenizer itr = new StringTokenizer(value.toString()); 
            while(itr.hasMoreTokens()) {
                this.word.set(itr.nextToken());
                context.write(this.word, one);
            }
        }
    }
public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
        private IntWritable result = new IntWritable();
        public IntSumReducer() {
        }
        public void reduce(Text key, Iterable<IntWritable> values, Reducer<Text, IntWritable, Text, IntWritable>.Context context) throws IOException, InterruptedException {
            int sum = 0;
            IntWritable val;
            for(Iterator i$ = values.iterator(); i$.hasNext(); sum += val.get()) {
                val = (IntWritable)i$.next();
            }
            this.result.set(sum);
            context.write(key, this.result);
        }
    }
}

1.2 运行程序,Run As->Java Applicatiion

1.3 编译打包程序,产生Jar文件

MapReduce的基本内容是什么

2 运行程序

2.1 建立要统计词频的文本文件

wordfile1.txt

Spark Hadoop

Big Data

wordfile2.txt

Spark Hadoop

Big Cloud

2.2 启动hdfs,新建input文件夹,上传词频文件

cd /usr/local/hadoop/

./sbin/start-dfs.sh

./bin/hadoop fs -mkdir input

./bin/hadoop fs -put /home/hadoop/wordfile1.txt input

./bin/hadoop fs -put /home/hadoop/wordfile2.txt input

2.3 查看已上传的词频文件:

hadoop@dblab-VirtualBox:/usr/local/hadoop$ ./bin/hadoop fs -ls .
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2019-02-11 15:40 input
-rw-r--r--   1 hadoop supergroup          5 2019-02-10 20:22 test.txt
hadoop@dblab-VirtualBox:/usr/local/hadoop$ ./bin/hadoop fs -ls ./input
Found 2 items
-rw-r--r--   1 hadoop supergroup         27 2019-02-11 15:40 input/wordfile1.txt
-rw-r--r--   1 hadoop supergroup         29 2019-02-11 15:40 input/wordfile2.txt

2.4 运行WordCount

./bin/hadoop jar /home/hadoop/WordCount.jar input output

屏幕上会输入大段信息

然后可以查看运行结果:

hadoop@dblab-VirtualBox:/usr/local/hadoop$ ./bin/hadoop fs -cat output/*
Hadoop 2
Spark 2

关于MapReduce的基本内容是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MapReduce的基本内容是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

计算机内存容量的基本单位是什么

计算机内存容量的基本单位是字节(Byte)。字节是计算机存储空间的最小单元,通常用来表示一个字符或一个字节大小的数据。一个字节由8个二进制位(bit)组成,每个位可以表示0或1。除了字节,还有一些常见的内存容量单位:- 千字节(Kiloby
2023-09-07

MapReduce的Shuffle机制是什么

这篇文章主要介绍“MapReduce的Shuffle机制是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MapReduce的Shuffle机制是什么”文章能帮助大家解决问题。Shuffle过程,
2023-06-27

MapReduce的工作原理是什么

本篇文章为大家展示了MapReduce的工作原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive
2023-06-03

Spark中的广义MapReduce是什么

在Spark中,广义的MapReduce是指使用Map和Reduce操作以及其他数据处理操作来进行分布式数据处理的一种模型。与传统的MapReduce模型不同,Spark中的广义MapReduce可以包含更多的操作,例如filter、gro
Spark中的广义MapReduce是什么
2024-03-05

hadoop中mapreduce的作用是什么

MapReduce是Hadoop中的一种编程模型,用于处理大规模数据集的并行计算。它将数据分为若干个小块,并在集群中的多个节点上并行处理这些小块数据,最后将结果进行合并。MapReduce框架包括两个主要阶段:Map阶段和Reduce阶段。
hadoop中mapreduce的作用是什么
2024-03-14

java实现mapreduce的方法是什么

Java实现MapReduce的方法是使用Hadoop框架。Hadoop是一个开源的分布式计算框架,其中包含了MapReduce编程模型。在Java中实现MapReduce,主要步骤如下:1. 编写Mapper类:实现Map函数,将输入数据
2023-08-26

C++基本组件之内存池的概念是什么

这篇文章主要介绍了C++基本组件之内存池的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++基本组件之内存池的概念是什么文章都会有所收获,下面我们一起来看看吧。内存池概念1:尽量减少malloc的次
2023-07-05

windows KB4487020更新的内容是什么

这篇文章主要介绍了windows KB4487020更新的内容是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows KB4487020更新的内容是什么文章都会有所收获,下面我们一起来看看吧。KB4
2023-07-01

windows KB4509476更新的内容是什么

这篇文章主要介绍“windows KB4509476更新的内容是什么”,在日常操作中,相信很多人在windows KB4509476更新的内容是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windows
2023-07-01

iso管理内容是什么

ISO管理内容包括质量管理、环境管理、职业健康安全管理等。ISO管理体系的内容包括质量管理体系、环境管理体系、职业健康安全管理体系等。这些标准是为了帮助企业建立和实施有效的管理体系,以提高企业的运营效率、产品质量和服务质量,同时降低成本和风险。
iso管理内容是什么
2023-10-29

MRP的基本任务是什么

这篇“MRP的基本任务是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MRP的基本任务是什么”文章吧。mrp系统是物资需
2023-07-02

windows KB4480973更新的内容是什么

这篇文章主要讲解了“windows KB4480973更新的内容是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows KB4480973更新的内容是什么”吧!KB4480973
2023-07-01

windows KB4489888更新的内容是什么

这篇文章主要介绍“windows KB4489888更新的内容是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows KB4489888更新的内容是什么”文章能帮助大家解决问题。KB44
2023-07-01

软考是考什么内容

  软考分为计算机软件、计算机网络、计算机应用技术、信息系统和信息服务共5个专业类别,并在各专业类别中分别设置了初、中、高级专业资格考试,考生可根据自己的技术水平选择合适的级别合适的资格进行报考。  软考分为计算机软件、计算机网络、计算机应用技术、信息系统和信息服务共5个专业类别,并在各专业类别中分别设置了初、中、高级
软考是考什么内容
2024-04-18

内存容量是指什么

内存容量是指计算机系统中可用于存储和处理数据的存储空间大小,它对计算机的性能、功能和多任务处理能力有着重要影响。计算机中,数据和指令需要存储在内存中才能被处理器读取和执行,内存容量决定了计算机可以同时存储和处理的数据量。本教程操作系统:Wi
2023-08-14

编程热搜

目录