mr spark storm 都是分布式计算框架,他们之间不是谁替换谁的问题,是谁适合做什么的问题。

mr特点,移动计算,而不移动数据。 把我们的计算程序下发到不同的机器上面运行,但是不移动数据。

每一个split 是由一个map线程,还是map进程进行处理?  肯定的是,他们之间是并发的。

mr的shuffle阶段,是比较难于理解的,不太便于我们去控制他,我们只能通过程序,控制其中的一部分。shuffle阶段,大多数都是有MR框架自动完成的。

溢写到磁盘中:map执行完成,结果肯定是放在内存中的。 所以达到一定数量之后,就需要溢写到磁盘中。在这之前,需要进行分区(partition)和把当前这个map的输出数据进行排序(sotred)
所以说,写到磁盘中的数据已经分好区了,并且已经排好序了。这都是在map任务所在节点的本地执行的。 其中partition暂时没有体现出作用。而是在fetch的过程中提现出来的。是按照什么
进行分区的呢?是看partition是怎么写的。partition可以由程序员自己写。按照程序员自己的规则实现。也可以不写,有默认的分区规则。默认分区规则是hash模运算(1,获取hash值
,是一个int。2,把这个int值对reduce的个数取模),默认的partition是有可能产生数据倾斜的。比如有两个reduce,没所有map产生的所有结果取模的时候,打个比方,
共有10个map结果,有9个都会1,只有1个为0,这就产生了数据倾斜。
mr如何解决数据倾斜问题和负载均衡。就是通过partition来实现的。如果发现数据倾斜问题,修改我们的partition算法就可以了。

排序,排序的关键是如何比较两个对象,mr自己也有自带的排序规则。默认的是按照对象所对应的ascii码值来排序的,或者说就是按照字典排序
分区不是立刻把数据都分开,而是打一个标号,标注,你是 1区的,你是2区的。在数据传输的 时候才会真正的分开,就是fetch阶段

merge ondisk每次溢写,都会产生一个文件,注意,不是追加,所以溢写次数越多,产生的文件数越多,怎么办呢,需要和并,和并成为一个大一点的文件,和并也有规则,默认按照
hash值和并。你的键的hash进行合并,键相同,就进行合并。合并规则也可以自定义。是combiner,就是每次合并,都会执行combiner的代码。  目的是加快拷贝速度,因为文件数量越少,拷贝越快。

溢写的时候,map任务可能还没有执行完,故可能一次map任务会有多次的溢写。所以会产生多个文件

把map结果的机器上把分给我这个reduce数据拷贝过来,拷贝是根据partition的结果来拷贝的。由于是从多个map的节点上拷贝数据,所以会有多个小文件,此时又会进行一次合并,这次
合并不能人为控制。这次合并,只要是key相同的都会进行合并,这个相同的key,可能来自于不同的map task。合并完成之后,相同key的数据都会在一起。分别传给reduce执行,这个
不是并发的,但是两个reduce是并发的。

比较会调用多次。
先partition,后入 memory buffer
partition是对map的每个结果的分区规则的运算

大数据的两个方向:
1.大数据变成和运维方向
2.数据建模方向,必须是统计学和数据学出来的人。

尚学堂 hadoop的更多相关文章

  1. 【尚学堂·Hadoop学习】MapReduce案例2--好友推荐

    案例描述 根据好友列表,推荐好友的好友 数据集 tom hello hadoop cat world hadoop hello hive cat tom hive mr hive hello hive ...

  2. 【尚学堂·Hadoop学习】MapReduce案例1--天气

    案例描述 找出每个月气温最高的2天 数据集 -- :: 34c -- :: 38c -- :: 36c -- :: 32c -- :: 37c -- :: 23c -- :: 41c -- :: 27 ...

  3. [JAVA教程] 2016年最新spring4框架搭建视频教程 【尚学堂】

    Spring4框架 主讲:邹波 类型:SSH 适合对象:学习完javase.数据库技术.jdbc者 Spring4.0作为一个广泛使用的开源框架,它由Rod Johnson创建.它是为了解决企业应用开 ...

  4. 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]

    [HeyJava][尚学堂][CMS文章内容管理系统] http://pan.baidu.com/s/1c0imHrE

  5. 学习java的视频资源(尚学堂)(比较老旧,但是还是挺好用)

    本人新手,转入IT,一开始在学校的时候看过尚学堂 马士兵讲过的java基础视频教程,这次深入学习呢,就从百度云盘找了一整套的视频资源.之后越深入的学习呢,发现这些视频资源VeryCD上都发布了,地址 ...

  6. 尚学堂Java第一课

    今天是北京尚学堂郑州分校开课的第一天,小班面授教学. 我很兴奋,是一个小白对IT大神渴求传道授业解惑的兴奋. 杨老师还是一贯耐心详细的手敲了第一堂课的完整大纲,必须给杨老师赞赞赞!!! 从幽默的制定班 ...

  7. 尚学堂马士兵struts2 课堂笔记(一)

    06_尚学堂马士兵_Struts2_Struts2_HelloWorld_5 <constant name="struts.devMode" value="true ...

  8. SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载

    对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...

  9. 又到毕业季,尚学堂喊你免费领取100个Java毕设项目(含源码视频),限时一周哦!

    你还在为毕设发愁?不知道该如何命题?不知道从哪里下手?担心毕设过不了影响毕业? 尚学堂首家隆重推出了刷爆朋友圈的毕设100个项目,别说你还没去下载观看!!最最重要的是:免费!免费!免费!而且限时一周! ...

随机推荐

  1. 仿苹果系统应用的apk

    仿苹果系统应用的apk 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 收集了好久的仿苹果IOS7全套apk - Android安卓综合 ...

  2. 【BZOJ 2212】【POI 2011】Tree Rotations

    http://www.lydsy.com/JudgeOnline/problem.php?id=2212 自下而上贪心. 需要用权值线段树来记录一个权值区间内的出现次数. 合并线段树时统计逆序对的信息 ...

  3. 【UOJ #198】【CTSC 2016】时空旅行

    http://uoj.ac/problem/198 (先补一下以前的题解) 这道题5分暴力好写好调,链上部分分可以用可持久化线段树,每次旅行\(x\)值相同的可以用标记永久化线段树.我还听到某些神犇说 ...

  4. NOIP 2006 提高组 t1 能量项链

    题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定 ...

  5. JZYZOJ1379天才的约数和 数论 约数和

    http://172.20.6.3/Problem_Show.asp?id=1379   易得n=a*b2/b1: 需要注意算出n之后要判断n的约数和是否等于a,这里需要用约数和定理递归,递归前求一下 ...

  6. [xsy1232]Magic

    题意:一个无向图,每个点有$a_i,b_i$,对任意点$i$你都可以花费$b_i$的费用将$a_i$变为$0$,最后你还要付出$\sum\limits_{i=1}^n\max\limits_{(i,j ...

  7. python基础--接口与归一化设计、封装、异常、网络编程

    1 接口与归一化设计 1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度. 2.归一化使得高层的外部 ...

  8. 【MySQL笔记】数据库的查询

    数据库的查询 注:文中 [ ...] 代表该部分可以去掉. 理论基础:对表对象的一组关系运算,即选择(selection).投影(projection)和连接(join) 1.select语句 子语句 ...

  9. [转]spring的ParameterMethodNameResolver

    例1: ParameterMethodNameResolver,这个可以根据请求的参数来确定一个需要调用的方法.例如,http://www.sf.net/index.view?testParam=te ...

  10. opencv中keypoint数据结构分析

    分析opencv中keypoint数据结构的相关信息,找到opencv的document(http://docs.opencv.org/java/org/opencv/features2d/KeyPo ...