文章分类 -  MapReduce

摘要:MapReduce-MapReduce开发总结 在编写mapreduce程序时,需要考虑的几个方面: 1)输入数据接口:InputFormat 默认使用的实现类是:TextInputFormat TextInputFormat的功能逻辑是:一次读一行文本,然后将该行的起始偏移量作为key,行内容作为 阅读全文

posted @ 2020-05-14 23:38 MissRong 阅读(100) 评论(0) 推荐(0) |

摘要:一、数据清洗(ETL) 1)概述 在运行核心业务Mapreduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。 清理的过程往往只需要运行mapper程序,不需要运行reduce程序。 2)实操案例 详见【日志清洗案例】: https://www.cnblogs.com/liuxin 阅读全文

posted @ 2020-05-14 23:05 MissRong 阅读(166) 评论(0) 推荐(0) |

摘要:MapReduce-ReduceTask工作机制 1)设置ReduceTask并行度(个数) reducetask的并行度同样影响整个job的执行并发度和执行效率,但与maptask的并发数由切片数决定不同,Reducetask数量的决定是可以直接手动设置: //默认值是1,手动设置为4 job.s 阅读全文

posted @ 2020-05-14 22:52 MissRong 阅读(330) 评论(0) 推荐(0) |

摘要:MapReduce-MapTask工作机制 一、并行度决定机制 1)问题引出 maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,mapTask并行任务是否越多越好呢? 2)MapTask并行度决定机制 一个job的map阶段MapTask并行度(个数),由客 阅读全文

posted @ 2020-05-14 20:32 MissRong 阅读(199) 评论(0) 推荐(0) |

摘要:一、FileInputFormat切片机制 1.FileInputFormat源码解析(input.getSplits(job)) IDEA中右上角“放大镜”搜索FileInputFormat类--》ctrl+f--》在左上方出现的搜索框上搜索:computeSplitSize--》回车即可找到此方 阅读全文

posted @ 2020-05-14 16:46 MissRong 阅读(598) 评论(0) 推荐(0) |

摘要:MapReduce-Hadoop企业优化 *(二)HDFS小文件优化方法 1.HDFS小文件弊端 HDFS上每个文件都要在namenode上建立一个索引,这个索引的大小约为150byte,这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用namenode的内存空间,另一方面就是索引文 阅读全文

posted @ 2020-05-13 17:16 MissRong 阅读(134) 评论(0) 推荐(0) |

摘要:MapReduce-Hadoop企业优化 *(一)MapReduce优化 一、MapReduce 跑的慢的原因 Mapreduce 程序效率的瓶颈在于两点: 1)计算机性能 CPU、内存、磁盘健康、网络 2)I/O 操作优化 (1)数据倾斜-数据量负载不均衡 (2)map和reduce数设置不合理 阅读全文

posted @ 2020-05-13 16:52 MissRong 阅读(138) 评论(0) 推荐(0) |

摘要:OutputFormat数据输出 一、OutputFormat接口实现类 OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了 OutputFormat接口。下面我们介绍几种常见的OutputFormat实现类。 1)文本输出TextOutputFormat 阅读全文

posted @ 2020-05-12 23:07 MissRong 阅读(140) 评论(0) 推荐(0) |

摘要:【过滤日志及自定义日志输出路径案例】(自定义OutputFormat) 1)需求 过滤输入的log日志中是否包含itstar (1)包含itstar的网站输出到e:/itstar.log (2)不包含itstar的网站输出到e:/other.log 此案例将文件中含有“itstar”的数据行和其他不 阅读全文

posted @ 2020-05-12 23:06 MissRong 阅读(282) 评论(0) 推荐(0) |

摘要:InputFormat数据输入(四)自定义InputFormat 1)概述 (1)自定义一个类继承FileInputFormat。 (2)改写RecordReader,实现一次读取一个完整文件封装为KV。 (3)在输出时使用SequenceFileOutPutFormat输出合并文件。 2)案例实操 阅读全文

posted @ 2020-05-12 22:37 MissRong 阅读(232) 评论(0) 推荐(0) |

摘要:【小文件处理案例】(自定义InputFormat) 1)需求 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案。 将多个小文件合并成一个文件SequenceFile(二进制文件),SequenceFile里面存储着多个文件, 阅读全文

posted @ 2020-05-12 22:36 MissRong 阅读(234) 评论(0) 推荐(0) |

摘要:InputFormat数据输入(三)InputFormat接口实现类 MapReduce任务的输入文件一般是存储在HDFS里面。 输入的文件格式包括:基于行的日志文件、二进制格式文件等。 这些文件一般会很大,达到数十GB,甚至更大。 那么MapReduce是如何读取这些数据的呢?下面我们首先学习In 阅读全文

posted @ 2020-05-12 12:45 MissRong 阅读(313) 评论(0) 推荐(0) |

摘要:MapReduce-【找博客共同好友案例】 1)需求: 以下是博客的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的) 下面这些数据可以理解为比如:A:B,C,D,F,E,O 这个就是A喜欢的人 A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A, 阅读全文

posted @ 2020-05-12 12:35 MissRong 阅读(125) 评论(0) 推荐(0) |

摘要:【倒排索引案例】(三)练习之成绩统计 现有一个班级的学生一个月的考试成绩数据:jobs_practice.txt 文件 数据样式:English,liudehua,80 需求:求出每门成绩中属于甲级的学生和总人数、乙级的学生人数和总人数、丙级的学生人数和总人数。 甲级:90分及以上、乙级:80-89 阅读全文

posted @ 2020-05-11 13:48 MissRong 阅读(319) 评论(0) 推荐(0) |

摘要:【倒排索引案例】(二)多job串联 多job串联 之前的倒排索引 https://www.cnblogs.com/liuxinrong/articles/12853560.html 是设置了一个job,串行执行的,需要执行两次主函数。 下面设置两个job,只执行一次主函数即可完成工作。 在原来的代码 阅读全文

posted @ 2020-05-11 11:36 MissRong 阅读(170) 评论(0) 推荐(0) |

摘要:MapReduce-【倒排索引案例】(一) 需求:有大量的文本(文档、网页),需要建立搜索索引 (1)第一次预期输出结果形式 itstar--a.txt 3 itstar--b.txt 2 itstar--c.txt 2 pingping--a.txt 1 pingping--b.txt 3 pin 阅读全文

posted @ 2020-05-11 11:18 MissRong 阅读(529) 评论(0) 推荐(0) |

摘要:Join多种应用 一、Map join(Distributedcache分布式缓存) 1)使用场景:一张表十分小、一张表很大。 2)解决方案 在map端缓存多张表,提前处理业务逻辑,这样增加map端业务,减少reduce端数据的压力,尽可能的减少数据倾斜。 3)具体办法:采用distributedc 阅读全文

posted @ 2020-05-06 17:54 MissRong 阅读(89) 评论(0) 推荐(0) |

摘要:【MapReduce中多表合并案例】(一)Reduce端表合并(数据倾斜) 通过将关联条件作为map输出的key,将两表满足join条件的数据并携带数据所来源的文件信息,发往同一个reduce task,在reduce中进行数据的串联。 将数据封装成一个Bean对象,Key是商品id-0X 一个表就 阅读全文

posted @ 2020-05-06 17:53 MissRong 阅读(607) 评论(0) 推荐(0) |

摘要:【MapReduce中多表合并案例】(二)Map端表合并(Distributedcache) 1)分析 适用于关联表中有小表的情形; 可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行合并并输出最终结果,可以大大提高合并操作的并发度,加快处理速度。 2)代码实现 阅读全文

posted @ 2020-05-06 16:46 MissRong 阅读(249) 评论(0) 推荐(0) |

摘要:一、压缩方式选择 1.Gzip压缩 优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;大部分linux系统都自带gzip命令,使用方便。 缺点:不支持split。 应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都 阅读全文

posted @ 2020-05-05 11:12 MissRong 阅读(347) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3