Hadoop核心组件之MapReduce

## MapReduce概述
- Google MapReduce的克隆版本
- 优点:海量数据的离线处理,易开发,易运行
- 缺点:实时流式计算
Hadoop MapReduce是一个软件框架,用于轻松编写应用程序,以可靠,容错的方式在大型集群(数千个节点)的商用硬件上并行处理大量数据(多TB数据集)

## MapReduce编程模型
**思想:分而治之**
MapReduce作业通常将输入数据集拆分为独立的块,这些块由map任务以完全并行的方式处理。框架对map的输出进行排序,然后输入到reduce任务。通常,作业的输入和输出都存储在文件系统中。该框架负责调度任务,监视它们并重新执行失败的任务。
![在这里插入图片描述](https://img-blog.csdn.net/20181017172130250?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWdlMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

案例;统计一篇文章,各个单词出现的次数
Input数据输入
Splitting:拆分数据读取到各个节点
Mapping:为每一个单词赋1,不会做合并操作
Shuffling: 重新洗牌(指定规则),这里把相同单词发到同一个节点去
Reducing : 统计合并相同单词的次数

最后把结果写到一个文件中去就ok了

原文地址:https://www.cnblogs.com/liuge36/p/9881778.html

时间: 2024-10-10 00:06:13

Hadoop核心组件之MapReduce的相关文章

【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析

Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS)的开源实现. MapReduce是Google MapReduce的开源实现. HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算. 本文主要参考了以下三篇博客学习整理而成. 1. Hadoop示例程序WordCount详解及实例 2. hadoop 学习笔

Hadoop 中利用 mapreduce 读写 mysql 数据

Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP 的需求,我们需要 mapreduce 与 mysql 进行数据的交互,而这些特性正是 hbase 或者 hive 目前亟待改进的地方. 好了言归正传,简单的说说背景.原理以及需要注意的地方: 1.为了方便 MapReduce 直接访问关系型数据库(Mysql,Oracle),Hadoop提供了DBInp

大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk

作者 Jonathan Allen ,译者 张晓鹏 Hunk是Splunk公司一款比較新的产品,用来对Hadoop和其他NoSQL数据存储进行探測和可视化,它的新版本号将会支持亚马逊的Elastic MapReduce. 结合Hadoop使用Hunk Hadoop由两个单元组成,首先是被称为HDFS的存储单元,HDFS能够分布在成千上万个复制的节点上.接下来是MapReduce单元,它负责跟踪和管理被命名为map-reduce jobs的作业. 之前,开发人员会用到Splunk Hadoop C

每天收获一点点------Hadoop之初始MapReduce

一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来说,自己完完全全实现一个并行计算程序难度太大,而MapReduce就是一种简化并行计算的编程模型,它使得那些没有多有多少并行计算经验的开发人员也可以开发并行应用程序.这也就是MapReduce的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛. 1.1 MapReduce是什么 Hadoop

从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)

从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,认为它们非常是神奇,而神奇的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,认为Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理. 由此,近期凡是空暇时,便在看"Hadoop","MapReduce""海量数据处理"这方面的论文.但在看论

hadoop入门笔记MapReduce Shuffle简介(五)

1. MapReduce 定义 Hadoop 中的 MapReduce是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级别的数据集 2. MapReduce 特点 MapReduce 为什么如此受欢迎?尤其现在互联网+时代,互联网+公司都在使用 MapReduce.MapReduce 之所以如此受欢迎,它主要有以下几个特点. - MapReduce 易于编程.它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可

初学Hadoop之图解MapReduce与WordCount示例分析

Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS)的开源实现,MapReduce是Google MapReduce的开源实现. HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算. 本文主要参考了以下三篇博客学习整理而成. 1.Hadoop示例程序WordCount详解及实例 2.hadoop 学习笔记:m

YARN Apache Hadoop 的下一代MapReduce

之前自己做的hadoop项目是基于0.20.2版本的,查了一下资料,知道了自己以前学的是原map/reduce模型. 官方说明: 1.1.X - current stable version, 1.1 release 1.2.X - current beta version, 1.2 release 2.X.X - current alpha version 0.23.X - simmilar to 2.X.X but missing NN HA. 0.22.X - does not inclu

Hadoop学习(五)-MapReduce架构原理

概述 hadoop主要是用于应对海量数据的存储和计算的,前面hdfs文件系统,则重点是用于海量数据的存储.那么有了这么多数据,我们又该怎么在这些数据里面来提取我们需要的信息呢?这个时候hadoop中出现了一个非常重要的成员MapReduce.MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.注意这个并行运算,它不再是我们传统意义上的串行计算,它可以在不同的进程中进行并行的运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思