iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MapReduce的基本内容是什么
  • 565
分享到

MapReduce的基本内容是什么

2024-04-02 19:04:59 565人浏览 安东尼
摘要

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

这篇文章将为大家详细讲解有关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的基本内容是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MapReduce的基本内容是什么

本文链接: https://www.lsjlt.com/news/53615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MapReduce的基本内容是什么
    这篇文章将为大家详细讲解有关MapReduce的基本内容是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、WordCount程序1.1 WordCount源程序im...
    99+
    2022-10-18
  • 计算机内存容量的基本单位是什么
    计算机内存容量的基本单位是字节(Byte)。字节是计算机存储空间的最小单元,通常用来表示一个字符或一个字节大小的数据。一个字节由8个...
    99+
    2023-09-07
    计算机
  • MapReduce的Shuffle机制是什么
    这篇文章主要介绍“MapReduce的Shuffle机制是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MapReduce的Shuffle机制是什么”文章能帮助大家解决问题。Shuffle过程,...
    99+
    2023-06-27
  • MapReduce的工作原理是什么
    本篇文章为大家展示了MapReduce的工作原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive...
    99+
    2023-06-03
  • java实现mapreduce的方法是什么
    Java实现MapReduce的方法是使用Hadoop框架。Hadoop是一个开源的分布式计算框架,其中包含了MapReduce编程...
    99+
    2023-08-26
    java mapreduce
  • 数据库系统的基本组成内容
    数据库系统的组成如下图所示。  1)硬件  数据库系统的硬件包括计算机的主机、键盘、显示器和外围设备(例如打印机、光盘机、磁带机等)。由于一般数据库系统所存放和处理的数据量很大,加之DBMS丰富的功能软件,...
    99+
    2022-10-18
  • C++基本组件之内存池的概念是什么
    这篇文章主要介绍了C++基本组件之内存池的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++基本组件之内存池的概念是什么文章都会有所收获,下面我们一起来看看吧。内存池概念尽量减少malloc的次数频...
    99+
    2023-07-05
  • ​redis的基本用法是什么
    这篇文章给大家分享的是有关redis的基本用法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。将介绍redis的基本用法。一、Redis基础部分: 1、redis介绍与安装比...
    99+
    2022-10-18
  • jQuery的基本原理是什么
    这篇文章主要介绍“jQuery的基本原理是什么”,在日常操作中,相信很多人在jQuery的基本原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery的基本原理是...
    99+
    2022-10-19
  • Promise的基本用法是什么
    本篇内容主要讲解“Promise的基本用法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Promise的基本用法是什么”吧!基本用法1. 语法new&nb...
    99+
    2022-10-19
  • HTML基本的知识是什么
    小编今天带大家了解HTML基本的知识是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“HTML基...
    99+
    2022-10-19
  • Css的基本属性是什么
    小编给大家分享一下Css的基本属性是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、标签属性与样式1、网页内容根据想要在作...
    99+
    2022-10-19
  • HTML的基本标签是什么
    这篇“HTML的基本标签是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HTML的基本...
    99+
    2022-10-19
  • Memcached的基本语法是什么
    本篇内容主要讲解“Memcached的基本语法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Memcached的基本语法是什么”吧! Memcached...
    99+
    2022-10-19
  • MRP的基本任务是什么
    这篇“MRP的基本任务是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MRP的基本任务是什么”文章吧。mrp系统是物资需...
    99+
    2023-07-02
  • J2SE的基本概念是什么
    本篇内容主要讲解“J2SE的基本概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“J2SE的基本概念是什么”吧!     Java概述:      目前Java主要应用于中间件的开发(mi...
    99+
    2023-06-03
  • iso管理内容是什么
    一、ISO管理内容介绍 ISO管理内容包括质量管理、环境管理、职业健康安全管理等。ISO管理体系的内容包括质量管理体系、环境管理体系、职业健康安全管理体系等。这些标准是为了帮助企业建立和实施有效的管理体系,以提高企业的运营效率、产品质...
    99+
    2023-10-29
    内容 iso
  • 内存容量是指什么
    内存容量是指计算机系统中可用于存储和处理数据的存储空间大小,它对计算机的性能、功能和多任务处理能力有着重要影响。计算机中,数据和指令需要存储在内存中才能被处理器读取和执行,内存容量决定了计算机可以同时存储和处理的数据量。本教程操作系统:Wi...
    99+
    2023-08-14
  • windows KB4509476更新的内容是什么
    这篇文章主要介绍“windows KB4509476更新的内容是什么”,在日常操作中,相信很多人在windows KB4509476更新的内容是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windows...
    99+
    2023-07-01
  • windows KB4480973更新的内容是什么
    这篇文章主要讲解了“windows KB4480973更新的内容是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows KB4480973更新的内容是什么”吧!KB4480973...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作