hadoop
文章平均质量分 76
孙张宾
持续进步
展开
-
mapreduce之mapper、reducer个数
这个图大概可以描述mapreduce计算模型的执行过程,下面我们就围绕这个图聊几个问题,其中有工作中非常有用的问题:1. mapper的个数 结论:mapper的个数是由输入数据的大小决定的,一般不需要我们去设置,如果你想控制mapper的个数,那么需要先了解hadoop是怎么控制mapper的个数。 如图所示,每个Mapper Tasker对应一个split(切片),要处理的fil原创 2016-11-25 23:19:44 · 8631 阅读 · 3 评论 -
mapreduce之分区,分组,排序,二次排序的综合应用
我们还是看下这个图,mapper处理后的中间数据经过shuffle阶段再由reducer处理。在shuffle阶段会进行分区,分组,排序,二次排序。这是个比较复杂的过程,但是我们理解以下这些东西对于工作中常见业务的开发就够用了:分区 就是mapper数据处理完分成若干个partition交给reducer处理,也是利用多个reducer task并发处理来提高效率,但有些业务比如要求得出数据的全局原创 2016-11-25 23:24:04 · 1525 阅读 · 0 评论 -
HDFS存储原理
整理下漫画,非常适合初学者理解角色出演 如上图所示,HDFS存储相关角色与功能如下:Client:客户端,系统使用者,调用HDFS API操作文件;与NN交互获取文件元数据;与DN交互进行数据读写。Namenode:元数据节点,是系统唯一的管理者。负责元数据的管理;与client交互进行提供元数据查询;分配数据存储节点等。Datanode:数据存储节点,负责数据块的存储与冗余备份;执行数据块的原创 2016-12-16 19:31:40 · 1013 阅读 · 0 评论 -
Hive窗口函数总结
基础的:SUM,AVG,MIN,MAX NTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值 ROW_NUMBER() –从1开始,按照顺序,生成分组内记录的序列 RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位 DENSE_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位 CUME_DIST 小于等于当前值的行数/分组内总行数 PE原创 2017-01-03 16:57:32 · 637 阅读 · 0 评论 -
Hive join on的不等条件实现方法
hql的join on操作只支持相等条件,比如:select * from a join b on a.id=b.id;但是不支持相等条件以外的情况,比如:select * from a join b on a.id <> b.id;select * from a join b on a.name like '%'+b.name+'%';这是因为Hive很难把不等条件翻译成mapreduce jo原创 2016-12-02 22:31:09 · 29756 阅读 · 2 评论 -
Yarn新的资源调度策略-label based scheduling
什么是Label based scheduling?故名思议,Label based scheduling是一种调度策略,就像priority-based scheduling一样,是调度器调度众多调度策略中的一种,可以跟其他调度策略混合使用,实际上,hadoop也是这样做的。但是,相比于其他调度策 略,基于标签的调度策略则复杂的多,这个feature的代码量非常大,基本上需要修改YARN的各个模块原创 2016-12-20 17:27:25 · 1009 阅读 · 0 评论 -
Yarn多用户资源管理–Fair Scheduler介绍与配置
在一个公司内部的Hadoop Yarn集群,肯定会被多个业务、多个用户同时使用,共享Yarn的资源,如果不做资源的管理与规划,那么整个Yarn的资源很容易被某一个用户提交的Application占满,其它任务只能等待,这种当然很不合理,我们希望每个业务都有属于自己的特定资源来运行MapReduce任务,Hadoop中提供的公平调度器–Fair Scheduler,就可以满足这种需求。Fair Sch原创 2016-12-20 17:55:18 · 6389 阅读 · 0 评论