
mapreduce
叫我小蟹
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Yarn原理加强之---MapReduce程序在Yarn上简易运行流程
1、提交job: 客户端Client提交job到Yarn主节点ResourceManager上,ResourceManager有两个组件: 一个是ApplicationMaster,用于管理所有applicaion,接收所有job; 第二个是Sheduler:用于资源调度,管理集群资源、分配资源。 2、启动NodeManager: NodeManager启动向,向ResourceManager汇报运算资源情况。 3、分配jobID和工作IDL: ApplicationManager分配jobID,并分配默认原创 2020-08-20 22:21:07 · 479 阅读 · 0 评论 -
MapReduce原理之---分区、分组、切块、切片
分区和分组的区别: 1、分区: 一个分区就是一个任务;当数据量大,单个reducetask处理不了时,需要多个reducetask同时处理全部数据; partition调用HashPartitioner组件,获得区号; HashPartitioner.getPartition(nk,nv){ nk.hashcode%numberReduceTasks; } 分区能够保证同一个逻辑下的K到达同一个reducetask中,按照K进行全局聚合、排序、分组;保证处理全部数据;保证处理的数据不重复。 2、分组: 分组原创 2020-08-20 20:17:45 · 2722 阅读 · 0 评论 -
图解MapReduce处理数据简易流程
(相比第一版稍有改动几个词)原创 2020-08-19 23:57:09 · 733 阅读 · 0 评论 -
MapReduce原理之---处理数据详细流程
1、任务切分:对文件进行逻辑切片,切片按照范围划分,默认128M一片。 一个文件至少有一个切片,每个切片运行一个maptask,如果文件超过128M,同一个输入文件会有多个maptask运行;为减少资源浪费,如果最后一个切片大小小于1.1*128M,将不会被切分处理。 2、输入对象:FileInputFormat.setInputPaths()方法,指定数据输入路径;输入目录中可以有单个或多个文件。 读取数据、生成K-V对:由继承RecordReader的LineRecordReader类中的readLin原创 2020-08-19 23:53:14 · 942 阅读 · 0 评论 -
MapReduce内部数据处理流程(未完成)
MapReduce数据处理流程 1、数据来源路径:FileInputFormat.setInputPaths(),输入目录中,可以有单个或多个文件; 2、对原始数据进行处理、任务划分: (1)任务切片:切片是逻辑切片,非物理切片; (2)切片大小由输入文件的大小、文件数量和配置参数决定; (3)(集群中)默认128M一个任务切片,(本地模式)32M一个任务切片; (4)输入目录中文件数量决定运行的maptask数量,每一个输入文件至少有一个切片;每一个切片运行一个maptask;如果文件超过128M(或本地原创 2020-08-18 18:12:23 · 244 阅读 · 0 评论 -
MapReduce程序分析数据流程
分为两步(mapper和reducer):(1)Mapper端;(2)Reducer端。((3)启动类) 核心思想:根据业务场景确定K,V。 K的作用:分区、排序、分组、聚合维度; K、V都要实现Hadoop的序列化; Hadoop的序列化实现方式:read、write方法 流程: 1、任务切片划分:计算逻辑–>根据文件大小等 2、根据逻辑启动maptask,maptask的个数决定map执行时的并行度 3、原始数据处理:切片,task负责自己的数据,readline读取一行,得到KV,交给Mappe原创 2020-08-17 23:02:49 · 736 阅读 · 1 评论