
MapReduce
文章平均质量分 66
MapReduce的案例
飝鱻.
这个作者很懒,什么都没留下…
展开
-
【MapReduce】MapReudce在集群上运行时查询System.out的结果
MapReudce在集群上运行时查询System.out的结果准备工作查看日志文件准备工作我们在使用MapReduce在集群上运行时,常常为了方便而使用System.out,但是却无法显示在控制台上,往往我们就需要去日志里面寻找本次所使用到的数据本次使用的代码package WC;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.i原创 2022-02-22 15:17:42 · 389 阅读 · 0 评论 -
【MapReduce】Combiner详解
Combiner详解解析Combiner是什么?为什么会出现Combiner?如何使用 CombinerCombiner注意点代码实现MapperReduceDriver运行日志加上Combiner解析Combiner是什么?为什么会出现Combiner?Combiner是一个本地化的reduce操作,它是map运算的后续操作,主要是在map计算出中间文件前做一个简单的合并重复key值的操作1、网络带宽严重被占降低程序效率(提前在map上执行分组,减少传输给reduce的数据量)2、单一节点承载原创 2021-04-07 10:56:11 · 3807 阅读 · 0 评论 -
【MapReduce】分片、分组和分区
分片、分组和分区三者的区别分片分区分组三者的区别分片对于HDFS中存储的一个文件,要进行Map处理前,需要将它切分成多个块,才能分配给不同的MapTask去执行。分片的数量等于启动的MapTask的数量。默认情况下,分片的大小就是HDFS的blockSize。分片是在读取文件之后就执行的blockSize默认大小128M。可通过设置minSize和maxSize来设置分片的大小。PS:分片的大小直接影响到MapTask的数量,可根据实际的业务需求来调整分片的大小分区分区是在shuff原创 2021-04-07 10:08:22 · 1620 阅读 · 0 评论 -
【MapReduce】Map Join和Reduce Join
Map Join和Reduce Join俩种Join的介绍MapReduce JoinReduce JoinMap Join数据Reduce Join自定义类Mapper阶段Reduce阶段Driver阶段结果Map JoinMapper阶段Driver阶段结果俩种Join的介绍MapReduce Join对两份数据data1和data2进行关键词连接是一个很通用的问题。如果数据量比较小,完全可以在内存中完成连接;如果数据量比较大,在内存进行连接操会发生内存溢出(OOM)。那么此时就可以用 Map原创 2021-04-07 09:41:13 · 1421 阅读 · 0 评论 -
【MapReduce】MapReduce自定义OutputFormat
MapReduce自定义OutputFormat数据及需求代码实现Mapper阶段Reduce阶段自定义OutputFormat自定义RecordWriterDriver阶段运行测试打包结果数据及需求上面自己随机生成的一些数据,第一个是地点(只要北京、南京和上海三个),第二个是double类型的数据。要求将这个数据按照类型求和,并且分别输出到不同的文件里面,文件名以地点名命名代码实现Mapper阶段import org.apache.hadoop.io.DoubleWritable;im原创 2021-04-06 16:45:19 · 419 阅读 · 0 评论 -
【MapReduce】使用MapReduce实现TF-IDF算法
使用MapReduce实现TF-IDF算法TF-IDF的介绍需求及实现步骤需求实现步骤代码实现设置IK分词及其扩展停止词字典自定义类接收MySQL里的数据第一个Mapper自定义分区第一个Reduce第二个Mapper自定义分组第二个Reduce自定义类接收存储到MySQL的数据第三个Mapper第三个ReduceDriver阶段结果TF-IDF的介绍TFIDF全程叫做term frequency–inverse document frequency,翻译过来可以叫做文本频率与逆文档频率指数, TF原创 2021-04-05 15:00:53 · 2307 阅读 · 0 评论 -
【MapReduce】使用MapReduce实现PageRank算法
使用MapReduce实现PageRank算法PageRank算法的介绍PageRank是什么?方法原理算法过程算法公式算法的缺点简单模型代码的实现流程数据信息第一计数类自定义类,来解决存储每一行数据Mapper阶段Reduce阶段Driver阶段结果PageRank算法的介绍PageRank是什么?PageRank(网页排名)是Google提出的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度,是 Google 对网页重要性、价值的评估。是Google创始人拉里·佩奇和谢尔盖·原创 2021-03-31 17:01:01 · 3337 阅读 · 1 评论 -
【MapReuce】读取本地美国疫情数据存储结果到MySQL
读取本地美国疫情数据存储结果到MySQL数据分析代码实现自定义数据类型定义类存储输出内容Mapper阶段自定义分组Reduce阶段Driver阶段结果数据分析字段名分别是:日期,城市,州,邮编,案例,死亡数需求将日期的格式改为年份-月份-日只要有任何一个字段是空的,那么就删除这条数据计算每月每个州的总案例数和死亡数代码实现自定义数据类型此类的主要作用就是将输入数据实例化,便于处理import org.apache.hadoop.io.WritableComparable;原创 2021-03-28 16:30:58 · 454 阅读 · 0 评论 -
【MapReduce】使用MapReduce处理数据库中的豆瓣数据
使用MapReduce处理数据库中的豆瓣数据数据及需求代码实现自定义接收数据类自定义接收输出数据类Mapper阶段Reduce阶段Driver阶段结果数据及需求需求去掉rank列actor列只要导演的名字即可只保留num列的评价人数代码实现自定义接收数据类import org.apache.hadoop.io.Writable;import org.apache.hadoop.mapreduce.lib.db.DBWritable;import java.io.DataInp原创 2021-03-24 11:10:33 · 910 阅读 · 3 评论 -
【MapReduce】MapReduce读写MySQL数据
MapReduce读写MySQL数据数据代码实现自定义类来接收源数据自定义类型来存储结果数据Mapper阶段Reducer阶段Driver阶段上传运行打包上传集群运行使用MapReduce读取MySQL的数据,完成单词的计数,并且将数据存储到MySQL的表里,并且将程序打包到集群上运行数据MySQL上的源数据创建一个表来存储结果代码实现自定义类来接收源数据之所以使用Text.writeString(dataOutput,words);是因为dataoutput没有strin原创 2021-03-23 19:49:39 · 1663 阅读 · 3 评论 -
【MapReduce】Mapreduce读取MySQL中的数据统计年龄
Mapreduce读取MySQL中的数据统计年龄导入MySQL的jar包数据代码实现实例化类MapperReduceDriver运行结果导入MySQL的jar包找到想要加入的jar包即可数据数据库中有上述数据,我们要求统计每个年龄的人数,然后将统计结果存入数据框中创建一个表专门存储结果数据代码实现实例化类存储数据类import org.apache.hadoop.io.Writable;import org.apache.hadoop.mapreduce.lib.db.DBWri原创 2021-03-22 19:57:29 · 950 阅读 · 1 评论 -
【MapReduce】使用MapReduce清洗贫困名单数据
使用MapReduce清洗贫困名单数据数据代码实现自定义类Mapper阶段自定义OutputFormat自定义RecordWriter阶段Driver阶段运行结果数据字段名分别是地区、街道、社区、姓名、身份证、学历、残疾等级、申请日期、金额需求只要有空字符的就删除这一条数据将日期格式转换,从1999/10/10变成1999年10月10日将不同地区的数据分开存储,文件名分别是地区名代码实现自定义类import org.apache.hadoop.io.WritableComparabl原创 2021-03-16 17:20:05 · 395 阅读 · 0 评论 -
【MapReduce】MapReduce清洗共享单车数据
MapReduce清洗共享单车数据数据代码实现自定义类Mapper阶段自定义outputFormat自定义RecordWriterDriver阶段结果数据点击下载数据所对应的字段分别是:结束时间、车俩id、出发地、目的地、所在城市、开始经度,开始纬度、结束经度,结束维度需求去掉空数据或者NA的将时间格式转换成2017年7月1日 00:45计算所跨越的经纬度按照所在城市将数据进行分类存储,再同一类数据中,按照车俩的id进行升序排序代码实现自定义类import org.apache.原创 2021-03-15 17:52:40 · 1964 阅读 · 1 评论 -
【MapReduce】MapReduce计算酒店的平均消费值
MapReduce计算酒店的平均消费值数据即需求代码实现自定义类Mapper阶段Reducer阶段Driver阶段结果数据即需求点击下载数据需求计算俩个城市的酒店平均消费值计算每个城市总共有多少个酒店参与计算代码实现自定义类import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;p原创 2021-03-15 11:27:46 · 713 阅读 · 0 评论 -
【MapReduce】药品数据分类
药品数据分类数据代码实现自定义类Mapper阶段自定义outputFormat自定义RecordWriterDriver阶段运行结果数据点击下载需求:将不同的数据分类进不同的文件,分类按照管理局的名字进行划分,也就是字段qfManagerName,存储这些字段的文件名和管理局名称一样代码实现自定义类Mapper阶段import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.原创 2021-03-14 14:45:55 · 653 阅读 · 1 评论 -
【MapReduce】使用MapReduce来实现数据清洗
使用MapReduce来实现数据清洗需求删除含有空值的数据删除重复的数据我们假设价格在1000-3500之间为合理值,去除价格异常的数据节省>价格为异常,去除节省异常值酒店只保留名称,其他的多余信息删除...原创 2021-03-11 16:21:45 · 3191 阅读 · 1 评论 -
java.lang.IllegalArgumentException: URI scheme is not “file“ 报错解决
java.lang.IllegalArgumentException: URI scheme is not "file" 报错解决近期在实现MapReduce中Map端的Join时遇到了上述错误Map端setup中的代码如下 URI[] uris = context.getCacheFiles(); File file = new File(uris[0]); BufferedReader br = new BufferedReader(new Input原创 2021-02-26 23:47:21 · 14074 阅读 · 0 评论 -
MapReduce---网约车撤销订单数据清洗
MapReduce---网约车撤销订单数据清洗数据及需求解析数据需求及解析代码实现自定义数据类型Map阶段Reduce阶段Driver阶段数据及需求解析数据数据一示例shouyue,430100,B190306162112070000,20190306162112,20190306162223,1,1,用户取消companyid,address,orderid,ordertime,canceltime,operator,canceltypecode,cancelreason 1200DDCX3原创 2021-02-08 21:56:43 · 1568 阅读 · 0 评论 -
MapReduce---天气数据清洗
MapReduce---天气数据清洗数据及需求数据需求及实现代码实现自定义的类Mapper阶段自定义分组Reduce阶段Driver阶段数据及需求数据数据一字段解释:年,月,日,小时,温度,湿度,气压,风向,风速,天气情况,1h降雨量,6h降雨量数据二0,cloudless1,cumulus2,cumulonimbus3,stratocumulus 4,stratus5,nimbostratus 6,altostratus7,altocumulus8,Cirrus9,st原创 2021-02-03 21:52:21 · 2401 阅读 · 5 评论 -
MapReduce----电信数据清洗
MapReduce---电信数据清洗数据解析及题目分析数据解析题目及分析代码实现自定义类Map阶段Reduce阶段Driver阶段数据解析及题目分析数据解析数据一18620192711,15733218050,1506628174,1506628265,650000,81000018641241020,15733218050,1509757276,1509757464,330000,62000015778423030,15614201525,1495290451,1495290923,3700原创 2021-02-02 22:27:22 · 7050 阅读 · 1 评论 -
MapReduce---招聘数据清洗(JSON类型数据)
MapReduce---招聘数据清洗数据及需求分析数据样式需求及分析代码实现阶段自定义的对象Map阶段Reduce阶段Driver阶段数据及需求分析数据样式json类型数据字段分析:从左到右分别是id编号 公司名称 学历要求 工作类型 工作名称 薪资 发布时间 截止时间 城市编码 公司规模 福利 岗位职责 地区 工作经验城市数据城市id和城市名需求及分析处理工资,让其变成(最大-最小)/2使用城市名替换城市id每一个值都不能为空,只要有一个为空就删除整条数据分析原创 2021-02-01 22:59:17 · 2244 阅读 · 0 评论 -
使用MapReduce挖掘父子关系
使用MapReduce挖掘父子关系需求分析Map阶段Reduce阶段Driver阶段下面有一组数据,对应关系是后一列分别是前一列的父母亲,需求是求出下列数据中的祖辈与孙辈关系Steven LucySteven JackJone LucyJone JackLucy MaryLucy FrankJack AliceJack JesseDavid AliceDavid JessePhilip DavidPhilip AlmaMark DavidMark Alma需求分析M原创 2021-01-17 11:41:14 · 3702 阅读 · 1 评论 -
使用MapReduce将JSON数据进行分类
使用MapReduce将JSON数据进行分类自定义对象Mapper阶段自定义分区Reduce阶段Driver阶段进阶自定义OutputFormat自定义RecordWriter修改Driver数据需求:将数据按照性别和文理科进行分类存储因为要将json字符串转换成对象,所以需要fastjson.jar包自定义对象自定义一个对象来存储数据import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;im原创 2021-01-15 17:06:15 · 1612 阅读 · 0 评论 -
MapReduce---计数器的使用
MapReduce---计数器的使用需求及数据代码实现自定义Student类编写Map类编写DriTest结果需求及数据数据A,40,70,78B,27,30,84C,73,88,78D,75,29,44E,93,85,15F,21,4,77G,50,11,62H,3,64,18I,75,31,3J,38,88,23K,75,79,26L,87,69,69M,45,15,43N,49,63,82O,57,44,12P,59,8,38Q,40,68,3R,78,1原创 2020-12-31 10:20:05 · 430 阅读 · 0 评论 -
自定义InputFormat实现小文件的合并
自定义InputFormat实现小文件的合并需求分析代码的实现InputFormat部分RecoreReader部分Driver阶段需要的操作需求无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案将文件的路径作为key,文件的内容作为值输出分析小文件的优化无非以下几种方式:1、在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS2、在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并3、原创 2020-12-29 14:57:39 · 269 阅读 · 0 评论 -
MapReduce统计上行流量、下行流量及流量之和,并且到集群上运行
MapReduce统计上行流量、下行流量及流量之和数据集需求分析数据需求分析具体操作自定义一个数据类型Map阶段自定义分区Reduce阶段Driver阶段将程序打成jar包在IDEA上打jar包的流程图在集群上运行数据集需求分析数据1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 13826544101 5C-0E-原创 2020-12-21 11:18:01 · 1040 阅读 · 0 评论 -
【MapReduce】MapReduce综合练习
MapReduce-->练习题数据及需求数据information表student表需求代码实现写JavaBean对象来存储数据,实现需求二重写Map方法,实现需求一重写分区类,实现需求四Reduce,实现需求三Driver类数据及需求数据information表游戏 大数据 1null Java 3学习 null 4逛街 全栈 2student表1 张三 女4 李四 男3 王五 男1 赵六 女需求使用MapJOIN来合并表将俩张表的数据封装到一个JavaBea原创 2020-12-01 18:24:22 · 1288 阅读 · 1 评论 -
MapReduce--->自定义OutputFormat
MapReduce--->自定义OutputFormat代码MyOutputFormatMyRecordWriterMapDriver代码MyOutputFormatimport org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.RecordWriter;import org.apache.hadoop.mapreduce.TaskAtt原创 2020-12-01 16:46:03 · 353 阅读 · 0 评论 -
MapReduce--->自定义InputFormat
MapReduce--->自定义InputFormat代码MyInputFormatMyRecordReaderMapDriver代码MyInputFormatimport org.apache.hadoop.fs.Path;import org.apache.hadoop.io.BytesWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.InputSplit;import org.a原创 2020-12-01 16:43:25 · 322 阅读 · 0 评论 -
MapReudce--->流程图
MapReudce--->流程图MapReduce的大致流程MapTask的详细简绍Reduce的详细简绍MapReduce的大致流程MapTask的详细简绍Reduce的详细简绍原创 2020-12-01 16:40:40 · 322 阅读 · 0 评论 -
MapReduce--->Map端的join
MapReduce--->Map端的join简绍代码MapDriver简绍这个使用于小表关联大表,将小表在map阶段缓存,从而完成表的join操作MapJoin没有Reduce阶段代码Mapimport org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapredu原创 2020-12-01 16:20:22 · 274 阅读 · 0 评论 -
MapReduce--->Reduce端实现JOIN
MapReduce--->Reduce端实现JOIN需求代码Bean(数据类)MapReduceDriver需求代码reduce端实现join即在reduce端实现俩表的拼接Bean(数据类)import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/** * order: *原创 2020-12-01 16:11:23 · 389 阅读 · 0 评论 -
MapReduce--->分区(Partition)
MapReduce--->分区Partition简单简绍步骤代码简单简绍这个可以将不同类型的数据在输出的时候进行分类,分类到不同的文件中步骤继承Partitioner,实现getPartition方法分区是从0开始的,即0就是第一个分区代码import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Partitioner;public class partition extends Partitio原创 2020-12-01 15:37:15 · 817 阅读 · 0 评论 -
MapReducce--->Combiner(规约)
MapReducce--->Combiner(规约简单简绍没使用规约MapReduceDriver使用CombinerCombiner在Driver添加总结简单简绍规约就是在map端先对数据进行合并,来达到减少数据传输的效果规约其实就是reduce,只是在map阶段执行规约输出的kv和reduce输入的连接起来,并且保证规约不影响数据逻辑规约:就是在Map阶段对数据进行一次和reduce一样的处理没使用规约Mapimport org.apache.hadoop.io.IntWrit原创 2020-12-01 15:22:33 · 510 阅读 · 0 评论 -
MapReduce--->排序和序列化
MapReduce--->排序和序列化hadoop序列化练习代码Map类reduce类自定义数据类Driver类结果hadoop序列化Writable是hadoop序列化的序列化格式,hadoop定义了这样一个writable接口,一个类要支持可序列化只要实现这个接口即可另外Writable有一个子接口是WritableComparable,WritableComparable是即可实现序列化,也可以对key进行比较,我们在这里可以通过自定义的key,来实现WritableComparable原创 2020-12-01 10:00:21 · 420 阅读 · 0 评论 -
MapReduce--->计数器
MapReduce--->计数器计数器的简绍hadoop的内置计数器定义一个普通的计数器计数器的简绍计数器是手机作业统计信息的有效手段之一,用于质量控制或应用统计。计数器还可辅助字段系统故障。计数器不但获取计数器值比较方便,害可以根据特定值统计发生的次数hadoop的内置计数器MapReduce任务计数器org.apache.hadoop.mapreuce.TaskCounter文件系统计数器org.apache.hadoop.mapreuce.FileSystemC原创 2020-12-01 09:17:16 · 416 阅读 · 0 评论 -
【MapReduce】实现简单的数据清洗
MapReduce--->实现简单的数据清洗题目和要求题目第一小题Map阶段Reduce阶段Driver阶段第二小题Map阶段Reduce阶段Driver阶段题目和要求题目2020年新冠肺炎对我国社会各方面影响巨大,大数据技术在抗击疫情过程中发挥了巨大作用,尤其在新增、确认等相关病例数据的采集及统计上应用颇广,下面有一份数据是今年1月20-4月29日的全国各省市及国外的疫情数据,请你按照要求使用MapReduce程序完成相关数据预处理。第一小题Map阶段Reduce阶段Driver阶原创 2020-11-20 19:31:11 · 9035 阅读 · 2 评论 -
使用MapReduce实现查找共同好友的操作
使用MapReduce实现查找共同好友的操作数据思路Map1阶段Reduce1阶段Map2阶段Reduce2阶段输出结果数据A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J思路在Map1阶段实现:从A关注了A:B,C,D,F,E,O 到谁被A关注的转变在Redu原创 2020-11-18 18:47:18 · 609 阅读 · 2 评论 -
MapReduce数据压缩
MapReduce数据压缩压缩的分类压缩格式压缩格式算法文件扩展名切分换成压缩格式后,原来的程序是否要修改DEFLATE是,直接使用DEFLATE.default否和文本处理一样,不需要修改Gzip是,直接使用DEFLATE.gz否和文本处理一样,不需要修改Bzip2是,直接使用Bzip2.bz2是和文本处理一样,不需要修改LZO否,需要安装LZO.lzo是要建索引和指定输入格式Snappy否,需要安装S原创 2020-08-23 20:47:18 · 350 阅读 · 0 评论 -
WordCount程序
WordCount程序目的是统计每个单词出现的次数a b c cb e a c e a将上述转换成a 3b 2c 3e 2步骤Mapperimport org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import原创 2020-08-23 14:21:07 · 443 阅读 · 0 评论