MapReduce和Hadoop流
MapReduce:分布式计算的框架
MapReduce是一个软件框架,可以将单个计算作业分配给多台计算机执行。
MapReduce在大量节点组成的集群上运行。它的工作流程是:单个作业被分成很多小份,输入数据也被切片分发到每个节点,各个节点只在本地数据上做运算,对应的代码称为mapper,这个过程被称作map阶段。每个mapper的输出通过某种方式组合(一般还会做排序)。排序后的结果再被分成小份分发到各个节点进行下一步处理工作。第二步的处理阶段被称为reduce阶段,对应的运行代码被称为reducer。reducer的输出就是程序的最终执行结果。
MapReduce的整个编配工作由主节点(master node)控制。这些主节点控制整个MapReduce作业编配,包括每份数据存放的节点位置,以及map,sort和reduce等阶段的时序控制等。此外,主节点还要包含容错机制。一般的,每份mapper的输入数据会同时分发到多个节点形成多份副本,用于事务的失效处理。
MapReduce的学习要点:
·主节点控制MapReduce的作业流程
·MapReduce的作业可以分成map任务和reduce任务
·map任务之间不做数据交流,reduce任务也一样
·在map和reduce阶段中间,有一个sort或combine阶段
·数据被重复放在不同的机器上,以防某个机器失效
·mapper和reducer传输的数据形式为key/value对
Hadoop流
Hadoop可以运行Java之外的其他语言编写的分布式程序。
Hadoop流很像Linux系统中的管道(管道使用符号|,可以将一个命令的输出作为另一个命令的输入)
例如:
cat inputFile.txt | python mapper.py | sort | python reducer.py > outputFile.txt
MapReduce和Hadoop流的更多相关文章
- Hadoop 流
前言 Hadoop流提供了一个API,允许用户使用任何脚本语言编写Map函数或Reduce函数. 本文对此知识点进行介绍. Hadoop流的工作原理 在以前的例子中,Map和Reduce工作都是由类来 ...
- 【Big Data - Hadoop - MapReduce】hadoop 学习笔记:MapReduce框架详解
开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...
- 第五篇:Hadoop流
前言 Hadoop流提供了一个API,允许用户使用任何脚本语言编写Map函数或Reduce函数. 本文对此知识点进行介绍. Hadoop流的工作原理 在以前的例子中,Map和Reduce工作都是由类来 ...
- mapreduce of hadoop
[mapreduce of hadoop] 1. MapReduce作业(Job)是客户端想要执行的一个作单元, 它包括: 输入数据, MapReduce程序, 配置信息. 2. Hadoop将作业成 ...
- MapReduce与Hadoop之比较
MapReduce与Hadoop之比较 Hadoop是Apache软件基金会发起的一个项目,在大数据分析以及非结构化数据蔓延的背景下,Hadoop受到了前所未有的关注. Hadoop是一种分布式数据和 ...
- 【Hadoop测试程序】编写MapReduce测试Hadoop环境
我们使用之前搭建好的Hadoop环境,可参见: <[Hadoop环境搭建]Centos6.8搭建hadoop伪分布模式>http://www.cnblogs.com/ssslinppp/p ...
- 从wordcount 开始 mapreduce (C++\hadoop streaming模式)
序:终于开始接触hadoop了,从wordcount开始 1. 采用hadoop streamming模式 优点:支持C++ pathon shell 等多种语言,学习成本较低,不需要了解hadoop ...
- MapReduce框架Hadoop应用(一)
Google对其的定义:MapReduce是一种变成模型,用于大规模数据集(以T为级别的数据)的并行运算.用户定义一个map函数来处理一批Key-Value对以生成另一批中间的Key-Value对,再 ...
- MapReduce、Hadoop、PostgreSQL、Spark
分布式数据库 操作指令 如何实现云计算?注:GIS数据集 谷歌集群系统主要包括三个部分:分布式文件系统GFS,分布式并行计算模型map/reduce,以及分布式数据库Bigtable hadoop是g ...
随机推荐
- C语言abort函数
C语言编程入门教程,C语言库函数的abort函数的作用是异常终止一个进程,意味着abort后面的代码将不再执行. #include<stdio.h> #include<stdlib. ...
- ios 自定义加载动画效果
在开发过程中,可能会遇到各种不同的场景需要等待加载成功后才能显示数据.以下是自定义的一个动画加载view效果. 在UIViewController的中加载等到效果,如下 - (void)vi ...
- github上不了改下host
207.97.227.239 github.com 65.74.177.129 www.github.com 207.97.227.252 nodeload.github.com 207.97.227 ...
- Javascript的一些经验总结
JavaScript作用域 1.作用域 JavaScript的作用域与C.Java等语言不同,它不是以花括号包围的块级作用域,这个特性经常被大多数人忽视.例如下面代码,在大多数类C的语言中会出现变量未 ...
- (转)SpringMVC学习(三)——SpringMVC的配置文件
http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...
- Educational Codeforces Round 11 _D
http://codeforces.com/contest/660/problem/D 这个题据说是很老的题了 然而我现在才知道做法 用map跑了1953ms: 题目大意 给你n个点的坐标 求这些点能 ...
- Java加腾讯云实现短信验证码功能
一.概要 现如今在日常工作和生活中短信验证码对于我们来说是非常熟悉的,比较常见的注册账号或者交易支付时候,手机会收到一个短信验证码,我们可以通过验证码来有效验证身份,避免一些信息被盗. 验证身份 目前 ...
- Synchronized关键字整理
Synchronized关键字整理 作用:能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全效果. 两个用法: 1.对象锁: 包括方法锁(默认锁对象为this当前实例对象)和同步代码块 ...
- 响应式web设计视图工具及插件总结----20150113
响应式web设计可以说火不火是迟早的,下面就对于最开始的视口调试的方法汇总,希望有好的方法大家一起交流. 1.火狐:从Firefox升级到29.0之后就不直接支持Firesizer了. 先安装Add- ...
- http常用状态吗以及分别代表什么意思?
http常用状态码: 状态码 定义 说明 1xx 信息 街道请求继续处理 2xx 成功 成功的收到.理解.接受 3xx 重定向 浏览器需要执行某些特殊处理一完成请求 4xx 客户端错误 请求的语法有问 ...