大数据运算模型 MapReduce 原理 2016-01-24 杜亦舒 MapReduce 是一个大数据集合的并行运算模型,由google提出,现在流行的hadoop中也使用了MapReduce作为计算模型 MapReduce 通俗解释 图书馆要清点图书数量,有10个书架,管理员为了加快统计速度,找来了10个同学,每个同学负责统计一个书架的图书数量张同学 统计 书架1王同学 统计 书架2刘同学 统计 书架3......过了一会儿,10个同学陆续到管理员这汇报自己的统计数字,管理员把各个数字加起来…
MapReduce MapReduce是什么? MapReduce源自于Google发表于2004年12月的MapReduce论文,是面向大数据并行处理的计算模型.框架和平台,而Hadoop MapReduce是Google MapReduce克隆版. 如果没有MapReduce! 那么在分布式计算上面将很难办,不好编程. 在早期无法处理大数据的离线计算. 编程中不易扩展性 分布式计算任务一旦挂了,没有容错机制进行处理 说明:MapReduce不擅长的方面(慢!) 实时计算:像MySQL一样,在…
===================== Scala语言的高级特性 ========================一.Scala的集合 1.可变集合mutable 不可变集合immutable //不可变集合 val math = scala.collection.immutable.Map("Alice"->80,"Bob"->90) //可变集合 val chinese = scala.collection.mutable.Map("A…
一.github使用手册 1. 我也用github(2)——关联本地工程到github 2. Git错误non-fast-forward后的冲突解决 3. Git中从远程的分支获取最新的版本到本地 4. Git教程 二.案例:倒排索引 1. 完成功能: 统计一系列文本文件中的每个单词构成的倒排索引. 1)分析:(1)倒排索引主要是用来存储某个单词在一个文档中或者一组文档中出现的位置映射关系,即提供一个根据内容查找文档的方式. (2)加权倒排索引,在确定指定单词到文档位置的映射关系的时候,加入权重…
1. 背景 随着大数据时代来临,人们发现数据越来越多.但是如何对大数据进行存储与分析呢?   单机PC存储和分析数据存在很多瓶颈,包括存储容量.读写速率.计算效率等等,这些单机PC无法满足要求. 2. 为解决这些存储容量.读写速率.计算效率等等问题,google大数据技术开发了三大革命性技术解决这些问题,这三大技术为: (1)MapReduce (2)BigTable (3)GFS 技术革命性:    革命性变化01:成本降低,能使用PC,就不用大型机和高端存储.    革命性变化02:软件容错…
MapReduce是hadoop中的一个计算框架,用来处理大数据.所谓大数据处理,即以价值为导向,对大数据加工,挖掘和优化等各种处理. MapReduce擅长处理大数据,这是由MapReduce的设计思想决定的“分而治之”. 1)Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”来处理.“简单的任务”包含三层含义:一是数据或计算的规模相对原任务要大大缩小:而是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算:三是这些小人物可以并行计算,彼此间几乎没有依赖关系. 2)Red…
上一期我们介绍了MR的基本流程与概念,本期稍微深入了解一下这个流程,尤其是比较重要但相对较少被提及的Shuffling过程. Mapping 上期我们说过,每一个mapper进程接收并处理一块数据,这块数据的大小默认就是一个HDFS数据块大小. Mapper处理数据时,基于性能考虑,会使用缓存,缓存的大小有一个默认值(比如100MB),满了之后,将会写入磁盘文件. 不过在写入之前,会在内存中进行分区(partition),分区的数量取决于reducer的数量,实际上也就是由MR框架决定,例如上图…
如果说大数据中分布式收集日志用的是什么,你完全可以回答Flume!(面试小心问到哦) 首先说一个复制本服务器文件到目标服务器上,需要目标服务器的ip和密码: 命令: scp  filename   ip:目标路径 一 概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. Flume提供对数据进行简单处理,并写…
一.大数据的5个特征(IBM提出): Volume(大量) Velocity(高速) Variety(多样) Value(价值) Varacity(真实性) 二.OLTP与OLAP 1.OLTP:联机事务处理过程,也称面向交易的处理过程,是对用户操作快速响应的方式之一.OLTP是传统的关系型数据库的主要应用,主要是基本的.日常的事务处理,例如银行交易:     开启事务——>从转出账号中扣钱——>往转入账号中加钱——>提交事务 2.OLAP:联机分析处理过程,是数据仓库系统的主要应用,支…
一.序列化 类似于Java的序列化:将对象——>文件 如果一个类实现了Serializable接口,这个类的对象就可以输出为文件 同理,如果一个类实现了的Hadoop的序列化机制(接口:Writable),这个类的对象就可以作为输入和输出的值 例子:使用序列化  求每个部门的工资总额 数据:在map阶段输出k2部门号 v2是Employee对象 reduce阶段:k4部门号 v3.getSal()得到薪水求和——>v4 Employee.java:封装的员工属性 package saltota…