
大数据之Hadoop(MapReduce、YARN)
Hadoop之
MapReduce
念达
沸腾的时光怎能被荒芜
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1)Hadoop之MapReduce(概述)
概述MapReduce的定义:MapReduce是一个分布式运算程序的编程框架MapReduce的核心功能是将用户编写的代码和其自带的组件整合成完整的分布式运算程序,并 行运算在Hadoop集群上MapReduce的优缺点优点:①易于编程②良好的扩展性③容错性高:若有一个节点挂了,可以将运算任务转移到另一个节点,不至于任务运行失败④时候PB级以上的大数据的离线处理...原创 2019-09-25 20:40:15 · 129 阅读 · 0 评论 -
2)Hadoop之MapReduce(序列化)
Hadoop序列化序列化概述什么是序列化和反序列化:①序列化就是将内存中的对象转化成字节序列(或其他数据传输协议),以便存储到磁盘中(持 久化)或进行网络传输②反序列化:就是将收到的字节序列(或其他数据传输协议)或者磁盘持久化数据转化成内存中的对象为什么不用Java序列化:Java的序列化是重量级序列化框架,一个对象被序列化后会夹带很多其他信息(校验信息,继承体系等),不便于网络传...原创 2019-09-25 23:35:16 · 233 阅读 · 0 评论 -
3)Hadoop之MapReduce(MapReduce框架原理)
MapReduce框架原理1InputFormat数据输入切片与MapTask并行度的决定机制问题引出①MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。②思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTa...原创 2019-09-26 14:46:41 · 161 阅读 · 0 评论 -
4)Hadoop之MapReduce(MapReduce工作流程(shuffle、分区、排序))
MapReduce详细工作流程一:如图MapReduce详细工作流程二:如图流程详解:上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:MapTask搜集map()方法的kv对,放入内存缓冲区中从内存不断溢写到本地磁盘文件,可能会溢出多个文件多个溢出文件会被合并成大的溢出文件在...原创 2019-09-29 16:16:07 · 852 阅读 · 0 评论 -
5)Hadoop之MapReduce(排序案例)
Combiner合并案例:需求:统计过程中对每一个MapTask的输出进行局部汇总,以减小网络传输量即采用Combiner功能。需求分析:案例实操-方案一①增加一个WordcountCombiner类继承public class WordcountCombiner extends Reducer<Text, IntWritable, Text, IntWrita...原创 2019-09-29 17:11:00 · 395 阅读 · 0 评论 -
6)Hadoop之MapReduce(MapTask、ReduceTask工作机制)
MapTask工作机制:Read阶段:MapTask通过用户编写的RecorderReader,从输入的InputSplit中解析出一个个的key/vale;Map阶段:该阶段主要是将解析出的key/value交给用户编写的map()方法处理,并产生一系列新的key/value;Collect收集阶段:结束map()方法中的数据处理后,一般会调用OutputCollector....原创 2019-09-29 20:08:52 · 394 阅读 · 0 评论 -
7)Hadoop之MapReduce(OutputFormat、Join)
OutputFormat数据输出OutputFormat接口实现类OutputFormat是所有MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口:文本输出:TextOutputFormat默认的输出格式是TextOutputFormat,它把每条记录写为文本行,它的键和值可以为任何类型,TextOutputFormat可以调用toStr...原创 2019-09-30 11:18:38 · 187 阅读 · 0 评论 -
8)Hadoop之MapReduce(计数器应用,数据清洗(ETL)案例)
计数器应用概述:Hadoop为每个作业维护若干计数器,以描述多项指标。例如:某些计数器记录着已处理的字节数和记录数,使用户可以监控已处理的输入数据量和已经产生的输入数据量。计数器API:采用枚举的方式统计计数enum MyCounter{MALFORORMED,NORMAL}context.getCounter(MyCounter.MALFORORMED).increment(1)...原创 2019-10-03 16:20:01 · 670 阅读 · 0 评论 -
10)Hadoop数据压缩
概述压缩技术能有效减少底层存储系统(HDFS)的读写字数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,I/O操作、网络数据传输、Shuffle、Merge要花费大量时间,尤其是=在数据规模很大和工作负载很密集的时候,数据压缩显得非常重要;鉴于磁盘IO和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资源,最小化磁盘I/O和网络传输非常有帮助,可以在任意MapReduce阶段...原创 2019-10-05 21:29:46 · 195 阅读 · 0 评论 -
11)Hadoop之YARN
基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster、Container等组件构成,如下图所示:Yarn工作机制Yarn运行机制,如图所示:工作机制详解:MR程序提交到客户端所在的节点YarnRunner向ResourceManager申请一个Application。RM将应用程序的资源路径返回给YarnRunn...原创 2019-10-05 23:26:59 · 117 阅读 · 0 评论 -
12)Hadoop企业优化
MapReduce 跑的慢的原因MapReduce效率的瓶颈主要有两点:计算机性能:CPU、内存、磁盘健康、网络I/O操作优化:数据倾斜Map和Reduce个数设置不合理Map运行时间太长,导致Reduce等待时间过长小文件过多大量的不可分块的超大文件Spill溢写次数过多Merge次数过多MapReduce优化方法MapReduce优化方法主要从六个方面考虑:...原创 2019-10-06 22:43:48 · 176 阅读 · 0 评论 -
13)Hadoop之MapReduce(扩展案例)
倒排索引案例(多job串联)需求及分析:有大量的文本(文档,网页),需要建立搜索索引(如下图所示)第一次处理:(1)第一次处理,编写OneIndexMapper类public class OneIndexMapper extends Mapper<LongWritable, Text, Text, IntWritable>{ String name; T...原创 2019-10-07 20:27:52 · 252 阅读 · 0 评论