hadoop
rainforc
这个作者很懒,什么都没留下…
展开
-
大数据即时计算产品的一般原理----索引
一、基本概念 索引相信大家多多少少都接触过,索引的目的说白了就是加快数据的检索、排序和计算等,尤其是对于海量数据的快速检索,索引起到了至关重要的作用。大家都知道,我们基于传统数据库开发经常会遇到一个问题,就是这个SQL查询变慢,是不是索引没加?数据库的索引好比一本书前面的目录,如果明确知道按哪个字段来进行索引查找,查询效率还是挺高的,数据库的索引实际上是一个单独的、物理的数据库结...原创 2016-05-20 17:02:26 · 286 阅读 · 0 评论 -
job运行流程(3)---NodeManager运行APPLICATION
11、接着上篇文章ApplicationMasterLaunch.handle(AMLaunchEventType.LAUNCH)被触发,接着开始调用RPC服务向NodeManager请求启动container,并触发RMAppAttemptEventType.LAUNCHED事件; 12、调用ContainerManagementProtocolPBClientImpl.startC...原创 2016-03-29 20:36:36 · 172 阅读 · 0 评论 -
job运行流程(2)---ResourceManager调度job
6、接着上篇文章中的最后一步:ResourceManager服务端执行ClientRMService.submitApplication(),接着开始调用RMAppManager.submitApplication()进而来触发RMAppEvent事件,成为job调度运行事件触发的源头;(本系列文章主要分析job调度运行流程的主要事件流程,像其它的日志读写事件流程、container监控流...原创 2016-03-29 20:20:52 · 198 阅读 · 0 评论 -
job运行流程(1)---客户端提交job
1、通过hadoop -jar命令提交一个job,并且解析提交的各个参数,保存对应的属性或内容到configuration; 优化点:这里可以通过修改GenerticOptionPaser类,来解析自定义的属性,比如public jar包更新等。2、调用waitForCompletion提交job并轮询job运行状态;优化点:这里的job状态轮询在ResourceManager返回...原创 2016-03-29 20:04:15 · 407 阅读 · 0 评论 -
hadoop------applog读写流程
1、NodeManager初始化时会先初始化ContainerManagerImpl服务,从而触发LogAggregationService也被初始化,而该服务是用于处理applog的读写流程的。 2、LogAggregationService会根据各种事件触发,从而读取本地的container log,然后写到hdfs上的app-log-dir,并删除本地的container log...原创 2016-03-29 19:36:15 · 203 阅读 · 0 评论 -
hadoop-----joblog读写流程
1、job提交后,调用JobSubmitter的submitJobInternal方法提交job相关文件到hdfs 2、nodemanager启动时会初始化本地目录,并清除本地yarn.nodemanager.local-dirs下的filecache/usercache/nmprivate目录下的资源文件 3、nodemanager的container资源初始化:Resour...原创 2016-03-25 21:03:23 · 195 阅读 · 0 评论 -
Hadoop学习分享----SequenceFile 和MapFile
前言: 上文介绍了Hadoop的IO序列化,大家应该可以知道其实Hadoop很多的设计也是专门为了MapReduce编程框架服务的,除了序列化还有专门的文件类:SequenceFile和MapFile,其中,MapFile是经过排序并带有索引的SequenceFile,而SequenceFile也是我们数据仓库原来在云梯1上最通用的数据文件,下面我将详细介绍下这两个文件类:一、Se...原创 2015-11-30 17:30:36 · 209 阅读 · 0 评论 -
Hadoop学习分享-----Shuffle过程
前言:MapReduce为了确保每个reducer的输入都按键排序。系统执行排序的过程-----将map的输出作为输入传给reducer 称为shuffle。学习shuffle是如何工作的有助于我们理解mapreduce工作机制。shuffle属于hadoop不断被优化和改进的代码库的一部分。从许多方面看,shuffle是mapreduce的“心脏”,是奇迹出现的地方。Shuffle过...原创 2015-11-30 17:30:22 · 91 阅读 · 0 评论 -
Hadoop学习分享----Hadoop I/O序列化
一、关于序列化: 序列化,可以存储“活的”( 只生存在内存里,关机断电就没有了,一般只能由本地的进程使用,而不能被发送到网络上的另外一台计算机)对象,可以将“活的”对象发送到远程计算机。 而把“活的”对象序列化,就是把“活的”对象转化成一串字节,而“反序列化”,就是从一串字节里解析出“活的”对象。于是,如果想把“活的”对象存储到文件,存储这串字节即可,如果想把“活的”对...原创 2015-11-24 10:39:06 · 210 阅读 · 0 评论 -
Hadoop学习分享----入门概要介绍
一、什么是Hadoop?基于2003年google发表Map/Reduce 和 Google File System(GFS)论文研发。用java实现的HDFS(Hadoop分布式文件系统)+Map/Reduce(并行编程计算处理框架)。对大量数据进行分布式处理的软件框架。 二、Hadoop的优势 1、高可靠性:HDFS假设计算元素和存储会失败,因此它维护多...原创 2015-11-24 10:38:14 · 119 阅读 · 0 评论 -
大数据即时计算产品的一般原理----列式存储
一、什么是列式存储讲列存储之前必须得先讲下行存储,因为行存储是大数据技术流行之前最为常见的一种数据存储方式,传统的关系数据库如Oracle、DB2、Mysql等都是将数据以行记录为单位进行组织,所以数据读写操作需要遍历行记录中所有的列,在存储机制上,行存储将行记录中各列的数据值串在一起进行存储,并且先存完第一行再存第二行,例如:1,Smith,Joe,40000;2,Jones,Mary,...原创 2016-05-20 17:04:48 · 481 阅读 · 0 评论 -
大数据即时计算产品的一般原理----技术纲要介绍
前言: 在数据部门工作已经是第三个年头,做过很多的数据产品,也接触了很多的业务数据和业务数据的生产。我的工作经历也大致分为这样几个阶段:第一阶段就是做数据产品,主要的工作就是把生产好的数据根据具体的业务把数据搬到网页上;第二个阶段开始尝试做了数据产品的产品,以配置化和平台化的方式玩出数据产品的页面;第三个阶段开始尝试做了数据仓库的产品,直接基于数据仓库模型组织的明细粒度数据进行即席...原创 2016-05-20 17:03:12 · 249 阅读 · 0 评论 -
大数据即时计算产品的一般原理介绍----MPP架构
什么是MPP架构? 众所周知,基于Map-Reduce模式的Hadoop擅长数据批处理,不是特别符合即时查询的场景。而业界当前做大数据实时查询一般都采用MPP架构,MPP全称Massively Parallel Processing,即大规模并行处理系统。大家都知道在数据库架构设计中,目前主要有Shared Everthing、和Shared Storage、Shared Not...原创 2016-05-20 17:02:44 · 1827 阅读 · 0 评论 -
job运行流程(4)---NodeManager运行CONTAINER
16、接着上篇文章LocalizationEventType.INIT_CONTAINER_RESOURCES事件被触发,对应ResourceLocalizationService.handle()被执行,分别会创建public、private、application三种资源对应的LocalResourcesTrackerImpl服务,接着LocalResourcesTrackerImpl.h...原创 2016-03-29 21:00:46 · 347 阅读 · 0 评论