
MapReduce
RashaunHan
这个作者很懒,什么都没留下…
展开
-
mapreduce Initialization of all the collectors failed. Error in last collector was :null
在运行MapReduce的时候遇到这个错误,后来发现是自定义的flowbean没有implements writable接口原创 2018-10-11 15:15:43 · 3750 阅读 · 0 评论 -
MapReduce自定义writable统计文本中30W条信息中的电话号码的上下行及总流量
Driver类public class flowSum {static class mymapper extends Mapper<LongWritable, Text, Text, FlowBean>{ @Override protected void map(LongWritable key, Text value, Context contex...原创 2018-10-11 15:25:36 · 233 阅读 · 0 评论 -
Combiner与自定义Combiner
一、Combiner的出现背景1.1 回顾Map阶段五大步骤 在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示:map section其中,step1.5是一个可选步骤,它就是我们今天需要了解的 Map规约 阶段。现在,我们再来看看前一篇博文《计数器与自定义计数器》中的第一张关于计数器的图:我们可以发现,其中有两...转载 2018-10-25 09:36:17 · 451 阅读 · 0 评论 -
求该成绩表当中出现相同分数的分数,还有次数,以及该分数的人数
/** * 求该成绩表当中出现相同分数的分数,还有次数,以及该分数的人数 * @author Administrator * */public class HomeWork03 { //key---科目+分数 Text value----人名 Text static class MyMapper extends Mapper<LongWritable, Tex...原创 2018-11-29 09:55:04 · 808 阅读 · 0 评论 -
求学生成绩-统计每门课程的参考人数和课程平均分
有如下数据computer,huangxiaoming,85,86,41,75,93,42,85computer,xuzheng,54,52,86,91,42computer,huangbo,85,42,96,38english,zhaobenshan,54,52,86,91,42,85,75english,liuyifei,85,41,75,21,85,96,14alg...转载 2018-11-29 09:57:53 · 13040 阅读 · 0 评论 -
MapReduce自定义分区partition的作用和用法
默认分区数量为 key.hash%reducetask的个数自定义分区 自己定义的自定义分区很简单,我们只需要继承抽象类Partitioner,重写getPartition方法即可,另外还要给任务设置分区:job.setPartitionerClass(), job.setNumReduceTasks();就可以了。 注意: 自定义分区的数量...原创 2018-11-29 09:58:57 · 1510 阅读 · 1 评论 -
MapReduce各个执行阶段
(1)MapReduce框架使用InputFormat模块做Map前的预处理,比如验证输入的格式是否符合输入定义;然后,将输入文件切分为逻辑上的多个InputSplit,InputSplit是MapReduce对文件进行处理和运算的输入单位,只是一个逻辑概念,每个InputSplit并没有对文件进行实际切割,只是记录了要处理的数据的位置和长度。(2)因为InputSplit是逻辑切分而非物...转载 2018-11-29 10:00:50 · 2386 阅读 · 1 评论 -
Shuffle过程详解
Shuffle过程简介 所谓Shuffle,是指对Map输出结果进行分区、排序、合并等处理并交给Reduce的过程。因此,Shuffle过程分为Map端的操作和Reduce端的操作。(1)在Map端的Shuffle Map的输出结果首先被写入缓存,当缓存满时,就启动溢写操作,把缓存中的数据写入磁盘文件并清空缓存。当启动溢写操作时,首先需要把缓存中的数据进行分...转载 2018-12-03 09:09:01 · 4225 阅读 · 0 评论 -
Yarn的基本流程(执行流程)
1.client向yarn提交job,首先找ResourceManager分配资源,2.ResourceManager开启一个Container,在Container中运行一个Application manager3.Application manager找一台nodemanager启动Application master,计算任务所需的计算4.Application master向A...转载 2018-12-03 09:08:42 · 874 阅读 · 0 评论