MR
文章平均质量分 82
阳哥赚钱很牛
努力努力努力
展开
-
数据清洗/数据预处理(MR程序)
数据质量的好与坏直接关系到我们最终的数据分析结果的正确与否。如果想要保证数据的高质量,我们需要对数据进行清洗,清洗有两个作用:1、将数据质量不好的数据清洗掉,过滤掉不合法的数据2、将原始数据中的某些信息转换成我们容易操作的字段或者模型信息,将数据中的某些数据的格式进行转换,以便我们后期处理。数据预处理/数据清洗(本案例是分析用户使用网站产生的点击流)日志信息:120.191.181.178 - - 2018-02-18 20:24:39 "POST https:...原创 2021-09-02 12:10:05 · 2520 阅读 · 3 评论 -
Hadoop的企业级优化
在想办法对Hadoop进行优化时,我们应该从Hadoop存在的一些问题来着手。一、Hadoop的一些问题MapReduce程序效率的瓶颈:1、计算机性能 包括CPU、内存、磁盘健康、网络2、I/O操作优化(1)数据倾斜(2)Map和Reduce数设置不合理(3)Map运行时间太长,导致Reduce等待过久(4)小文件过多(5)大量的不可分块的超大文件(6)Spill次数过多(7)Merge次数过多二、MapReduce的优化方...转载 2021-08-16 22:09:33 · 99 阅读 · 0 评论 -
MapReduce中的Shuffle机制
一、概念Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(Map方法之后,Reduce方法之前的数据处理过程)称之为Shuffle。二、Shuffle包括哪些阶段Shuffle包括MapTask工作中的Collect收集阶段、Spill阶段、Combine(merge)阶段以及ReduceTask工作中的Copy阶段、Merge阶段、Sort阶段。Shuffle是从map()函数执行结束后开始的,首先将m...原创 2021-08-15 20:14:27 · 471 阅读 · 0 评论 -
MapReduce中的计算器以及数据清理
一、计数器1、概述 计数器是MR程序在运行过程中记录一些数据信息,比如 Map阶段输入了多少数据 Map阶段输出了多少数据,Combiner输入了多少数据 Combiner输出多少数据。Hadoop为每个作业维护若干内置计数器,以描述多项指标。例如,某些计数器记录已处理的字节数和记录数,使用户可监控已处理的输入数据量和已产生的输出数据量。2、计数器的使用:采用计数器组、计数器名称的方式统计context.getCounter("gro...原创 2021-08-15 12:00:23 · 397 阅读 · 0 评论 -
MapReduce中的压缩和解压缩
在MR中,压缩是个可选项,是为了减少IO流次数一、概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,I/O操作、网络数据传输、 Shuffle和Merge要花大量的时间,尤其是数据规模很大和工作负载密集的情况下,因此,使用数据压缩显得非常重要。 鉴于磁盘I/O和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资源、最小化磁盘I/O和网络传输非常有帮助。可以在任意MapReduce阶段启用压缩。不过,尽管压缩与解压操作...原创 2021-08-14 17:23:39 · 857 阅读 · 1 评论 -
MapTask与ReduceTask工作机制!!!
MR的学习接近尾声了,今天我们学习一下两个简单的内容:MapTask与ReduceTask工作机制MapTask与ReduceTask工作流程合起来其实就是我们MR的工作流程。一、MapTask工作机制1、学习MapTask工作机制之前,我们先理解一下并行度决定机制maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,mapTask并行任务是否越多越好呢?MapTask并行度决定机制 一个job的map阶段MapTa...原创 2021-08-10 22:02:47 · 455 阅读 · 0 评论 -
MapReduce详细工作流程之Combiner合并
今天学习的Combiner合并在MapReduce中是可选项,默认情况下Combiner不会执行,它就像一个可插拔的小组件。Combiner合并相当于MR的一种优化策略一、概念1)Combiner是MR程序中Mapper和Reducer之外的一种组件2)Combiner组件的父类就是Reducer3)Ccombiner和reducer的区别在于运行的位置:Combiner是在每一个maptask所在的节点运行Reducer是接收全局所...原创 2021-08-09 22:38:48 · 689 阅读 · 1 评论 -
MapReduce的运作详解之分区
分区的概念:Map阶段处理的数据,在向环形缓冲区写的时候 是以分区的方式写的一般情况下,MR程序分区数有多少 reduceTask数量就应该有多少 ,一个分区的数据一个reduceTask去处理,reduceTask处理完成之后都会生成一个结果文件...原创 2021-08-06 21:30:05 · 3777 阅读 · 2 评论 -
Hadoop中的MapReduce——分布式离线计算框架
上次的文章中,我们使用Java代码实现了MapReduce,这次我们正式的来做MapReduce编程运行三个实例进程:分布式计算程序的时候 先分map后合reduce* MapTask----将计算程序分布的运行在多台电脑上 并且是并行运行 互相之前不干扰* ReduceTask----将不同电脑上map计算出来的结果汇总起来 也可以有个reduce 并且* 多个reduce之前是并行运行 互不干扰的*...原创 2021-08-03 22:01:26 · 996 阅读 · 2 评论