Reduce
qq_34352013
ruanwenfu
展开
-
21 Mapreduce中的join操作
背景类似于sql语句中的join,两张表之间有关系,需要进行联合查询的场景订单表:1001 20170710 4 21002 20170710 3 1001003 20170710 2 401004 20170711 2 231005 20170823 4 551006 20170824 3 201007 20170825 2 31008 20170826 4 231009 ...原创 2020-11-23 23:49:04 · 65 阅读 · 0 评论 -
20 mapreduce推测执行机制
1、推测执行机制实际上是Hadoop提供的一种针对慢任务的优化方法: 当出现慢任务的时候,Hadoop会将这个慢任务复制一份放到其他节点上,两个节点同时执行相同的任务,谁先执行完,那么结果就作为最后的结果,另一个没有执行完的任务就会被kill掉2、慢任务出现的场景:任务分配不均匀机器性能不均等数据倾斜3、优化如果慢任务是由于上述的前两个因素导致的,那么可以通过推测执行机制实现优化。多个...原创 2020-11-23 23:47:23 · 380 阅读 · 0 评论 -
19 mapreduce小文件
小文件的危害1、存储:每一个小文件在HDFS上都会产生一条元数据。如果存储大量的小文件,那么就会产生大量的元数据。如果元数据过多,会大量占用NameNode的内存,并且还会导致元数据的查询效率变低2、计算:每一个小文件在MapReduce中对应一个切片。如果计算大量的小文件,那么就会产生大量的切片,每一个切片会对应一个MapTask(MapTask本质上线程),大量的切片就会产生大量的线程。如...原创 2020-11-23 23:47:33 · 88 阅读 · 0 评论 -
18 mapreduce 数据倾斜
什么是数据倾斜数据倾斜就是在多个节点之间,处理数据的压力不一样,有点节点比较忙,但是有点节点比较轻松,这个就是发生了数据倾斜。产生的原因1、数据本身具有倾斜的特性 - 数据本身就是不平均的 - 所以数据倾斜不能避免2、map端可能会发生数据倾斜。产生的条件三者缺一不可,分别是:多源输入、输入的文件不可切且大小不均等(从而导致有点mapTask任务重有点轻)—— 三个条件缺一不可,而且Map...原创 2020-11-23 23:46:41 · 148 阅读 · 0 评论 -
17 自定义输入输出格式以及源码分析
输入格式InputFormat1、InputFormat是MapReduce中提供输入格式化的顶级父类,所有的输入格式化都继承与这个父类。其中提供了两个主要方法:getSplits:规定切片过程createRecordReader:提供输入流来读取切片中的数据2、InputFormat发生在Map之前,在MapTask之前,先对文件切片,然后通过输入IO流读取数据,将读取的数据发送给Map...原创 2020-11-23 23:46:22 · 212 阅读 · 0 评论 -
15 mapreduce 基本理论
数据本地化策略把计算发到离数据近的地方,移动计算不移动数据1、实际过程中,Split大小 = Block大小/n,意味着Split的大小往往是Block大小的某个因子,例如Block是128M,Split是64M,n等于2,这么设置的目的是为了减少每一个MapTask所读取的次数 ,一般Split和Block大小相等2、数据本地话策略:两个方面① 为了减少跨集群的传输,往往是将DataNo...原创 2020-11-23 23:45:27 · 157 阅读 · 0 评论 -
14 mapreduce——combiner合并
作用避免任务在reduceTask上的积压。1、因为实际过程中MapTask的数量要远多于ReduceTask的数量,所以所有的计算压力最终都会落到ReduceTask上,所以就要考虑降低ReduceTask的计算压力 - 可以考虑将ReduceTask一部分的计算前移,在MapTask这一端先进行一次汇总,最后ReduceTask再进行最后的汇总2、Combiner的执行逻辑和Reduce...原创 2020-11-23 23:46:54 · 168 阅读 · 0 评论 -
13mapreduce——排序
作用类似于sql语句中的order by功能默认情况下,mapreduce中,会默认对Mapper输出的key来进行自然排序,所以如果说希望对结构中的某个字段进行排序的话,就把这个字段放到map输出的key里面去。【排序是为了合并,为了reduce的计算分组】概述1、在MapReduce中,会默认对Mapper输出的键来进行自然排序;,所以也要求Mapper输出的键对应的类型必须实现Com...原创 2020-11-23 23:45:37 · 1416 阅读 · 0 评论 -
12 mapreduce分区——partitioner
分区分区的业务场景分区的几个特点自动义分区类测试案例项目没有加入分区时的编码引入自定义分区修改Driver按月份统计学生的总成绩封装一个modelmapperreducerPartitionerDriver分区的业务场景在平常进行统计的时候,不仅仅会统计一个总数,可能还需要根据不同的维度进行汇总,比如SQL中的group by子句,先对数据进行分组,然后在组内进行汇总整合。所以mapredu...原创 2020-11-23 23:45:56 · 561 阅读 · 0 评论 -
10 mapreduce 统计单词出现的文件名
键值对类型k:单词,v:文件名如何获取value这一行来自于哪个文件? //获取属于哪个文件分片 FileSplit fs = (FileSplit) context.getInputSplit(); //属于哪个文件 String name = fs.getPath().getName();package text;import or...原创 2020-11-23 23:44:39 · 85 阅读 · 0 评论 -
11 map多级处理-找出隐藏好友-可能认识的人
ddd原创 2020-11-23 23:49:19 · 219 阅读 · 0 评论 -
09 mapreduce序列化应用二——统计总分
准备数据Bob 90 64 92Alex 64 63 68Grace 57 86 24Henry 39 79 78Adair 88 82 64Chad 66 74 37Colin 64 86 74Eden 71 85 43Grover 99 86 43序列化类写出啥就读到啥package serialscore;import org.apache.hadoop.io.W...原创 2020-11-23 23:45:02 · 261 阅读 · 0 评论 -
08 Mapreduce 序列化
背景现在提供如下文件:13877779999 bj zs 214513766668888 sh ls 102813766668888 sh ls 998713877779999 bj zs 567813544445555 sz ww 1057713877779999 sh zs 214513766668888 sh ls 9987reduce阶段,可能需要根据需求来对不同的字段进...原创 2020-11-23 23:47:50 · 324 阅读 · 0 评论 -
07 MapReduce计算总分,求和
package scoreCount;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOE...原创 2020-11-23 23:45:11 · 964 阅读 · 0 评论 -
06 MapReduce_取每人最高分
人名:分数1,分数2.分数3.分数4;取最大值package maxscore;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapp...原创 2020-11-23 23:43:46 · 300 阅读 · 0 评论 -
05 MapReduce——IP去重
思路去除重复用什么?Setreduce阶段本身就会去除重复package ip;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Map...原创 2020-11-23 23:43:55 · 521 阅读 · 0 评论 -
04 MapReduce——词频统计
分析he:1is:1dog:1Mapperpackage wordcoount;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public...原创 2020-11-23 23:43:12 · 126 阅读 · 0 评论 -
03 windows开发环境下运行hadoop任务时报错
1、如果双击winutils.exe出现缺失dll的错误,那么将预习资料中tar目录下的mscvr120.dll复制到C:\Windows\System322、如果运行MapReduce程序的时候,出现Could not locate executable null\bin\winutils.exe in the Hadoop binaries先检查环境变量是否配置正确 (hadoop_ho...原创 2020-11-23 23:43:33 · 359 阅读 · 0 评论 -
02 MapReduce API操作-字符统计
mapper类和reducer类,继承mr里面提供的父类mapper类的输入键类型:整型,默认情况下表示字节偏移量,第一个行是0,第二行是11(第一行是11个字节长度),第三行是前两行之后的字节偏移量 ,一行内容做为值处理(Text)入门案例一:字符统计创建maven项目导入依赖依赖见mavenmapper类开发统计1行中的单词个数,输出(字符,1)import org.apach...原创 2020-11-23 23:42:47 · 185 阅读 · 0 评论 -
01 MapReduce基本理论
概述1、MapReduce是Hadoop提供的一套用于进行分布式计算的框架 【移动计算而不是移动数据】2、MapReduce是Doug根据Google的论文阐述的原理来实现的3、MapReduce会将计算过程拆分成2个阶段:Map(映射)阶段和Reduce(规约)阶段工作过程在HDFS上有多个split分片,每个split会交由一个MapTask(其实就是一个线程)进行处理。Map处理...原创 2020-11-23 23:42:57 · 74 阅读 · 0 评论