当前搜索:

MapReduce中job参数及设置map和reduce的个数

map的个数 在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了 map的个数。 影响map个数,即split个数的因素主要有: 1)HDFS块的大小,即HDFS中dfs.block.size的值。如果有一个输入文件为1024m,当块为 256m时,会被划分为4个split;当块为128m时,会被划分为8个split。 2...
阅读(4385) 评论(0)

MapReduce中wordCount程序工作过程分析

MapReduce主要分为八个步骤: 1)读取文件,解析成key,value对 2)自定义map函数 3)对map输出的数据进行分区 4)对分区后的数据进行排序分组 5)对分组后的数据进行规约 6)通过网络拷贝,将map输出的数据拷贝到reduce节点 7)自定义reduce函数,对map输入的key,value对进一步的处理 8)对处理后的数据进行输出具体8个步鄹细节如下:Map处...
阅读(493) 评论(0)

MapReduce怎样实现二级排序

有两种方法进行二次排序,分别为:buffer and in memory sort和 value-to-key conversion。对于buffer and in memory sort,主要思想是:在reduce()函数中,将某个key对应的所有value保存下来,然后进行排序。 这种方法最大的缺点是:可能会造成out of memory。对于value-to-key conversion,主要...
阅读(805) 评论(0)

yarn的工作流程

运行在YARN上的应用程序主要分为两类: (1)短应用程序 (2)长应用程序 短应用程序是指一定时间内(可能是秒级、分钟级或小时级,尽管天级别或者更长时间的也存在,但非常少)可运行完成并正常退出的应用程序,比如MapReduce作业、Tez DAG作业等.长应用程序是指不出意外,永不终止运行的应用程序,通常是一些服务,比如Storm Service(主要包括Nimbus和Supervisor两...
阅读(420) 评论(0)

MapReduce:实现jion的几种方法

reduce side join reduce side join是一种最简单的join方式,其主要思想如下: 在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签 (tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2。即:map阶段的主要任务是对不同文件中的数据打标签。...
阅读(1359) 评论(0)

MapReduce: Partition

1、partion的作用 Partion作用主要是对map处理的数据进行分区,可以解决数据倾斜的问题。 2、如果没有定义partitioner,那数据在被送达reducer前是如何被分区的? hadoop有一个默认的分区类,HashPartioer类,通过对输入的k2去hash值来确认map输出的k2,v2送到哪一个reduce中去执行。 3、代码体现public class Provinc...
阅读(430) 评论(0)

MapReduce: combiner

1、什么是combiner? combiner就是规约操作,通过对map输出的数量进行规约,可以减少reduce的数量,提高执行效率combiner的输入输出类型必须和mapper的输出以及reducer的输入类型一致 2、什么情况要使用 combiner,什么情况不使用? 求平均数的时候就不需要用combiner,因为不会减少reduce执行数量。在其他的时候,可以依据情况,使用combi...
阅读(414) 评论(0)

MapReduce:详解shuffle过程

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里我...
阅读(440) 评论(0)

mapreduce的shuffle,partition,combine

shuffle:   是描述着数据从map端传输到reduce端的过程,而且我们知道的是hadoop的集群环境中,大部分map task和reduce task是在不同的node上执行,主要的开销是网络开销和磁盘IO开销,因此shuffle的主要作用相当于是   1.完整的从map task端传输到reduce task端。   2.跨节点传输数据时,尽可能减少对带宽的消耗.(注意是reduce执行...
阅读(587) 评论(0)
    【个人简介】
    个人资料
    • 访问:436549次
    • 积分:7120
    • 等级:
    • 排名:第3604名
    • 原创:282篇
    • 转载:23篇
    • 译文:24篇
    • 评论:90条
    博客专栏