MapReduce
哪有天生的学霸,一切都是厚积薄发
天道酬勤,商道酬信,学道酬苦,业道酬精 ,人道酬诚。
展开
-
内存排序TOPN
取出前三名的值简单排序:直接通过Reducer端中的reduce方法可以直接进行排序 Mapper端中也会进行排序 Mapper端中也会进行排序(以key进行排排序)内存排序:将数据存储到一个容器中(集合),这个集合是存储在内存中,对集合中的数据进行排序称之为内存排序第一种:import java.io.IOException;import java.util.ArrayList;i...原创 2018-10-11 20:44:12 · 1326 阅读 · 0 评论 -
TOPN自定义类型版本
什么时候使用自定义数据类型?无论是从Mapper端还是从Reducer端在KEYIN VALUEIN KEYOUT VALUEOUT 进行赋值的时候,只能是一种数据类型假如说Mapper端要向Reducer端传递多个数据的时候,一种数据类型是无法满足,此时我们就可以实现自定义数据类型完成数据的传递工作自定义数据类型其实就是将数据封装成一个类,实现Writable或者WritableComp...原创 2018-10-11 21:13:50 · 209 阅读 · 0 评论 -
Combiner
一、CombinerCombiner是MR程序中Mapper和Reduce之外的一种组件Combiner组件的父类就是ReducerCombiner和Reducer之间的区别在于运行的位置Reducer是每一个接收全局的Map Task 所输出的结果Combiner是在MapTask的节点中运行每一个map都会产生大量的本地输出,Combiner的作用就是对map输出的结果先做一次合并...原创 2018-10-10 21:12:29 · 10777 阅读 · 0 评论 -
倒序索引
倒排索引:1.倒排索引也称为反向索引,是一种索引的状态2.被用来存储,在全文中搜索某个单词在一个文件或一组文档中的映射3.先查找单词或字符串或更具体的字符串,获取位置,然后通知单词出现的次数和字符串出现的次数4.下面有3个文件:index.html page.html content.html三个文件中有一些数据,通过倒排索引的方式统计单词在每个文件中出现的次数例如:had...原创 2018-10-11 08:42:55 · 7516 阅读 · 0 评论 -
MapReduce介绍
场景:比如有海量的文本文件,如订单,页面点击事件的记录,量特别大,单机版很难搞定。怎样解决海量数据的计算?求和: 1 + 5 +7 + 3 +4 +9 +3 + 5 +6MapReduce产生背景如果让你统计日志里面的出现的某个URL的总次数,让你自己去写个单机版的程序,写个逻辑:无非就是读这个文件一行,然后把那个地方截取出来,截取出来之后,然后可以把它放到一个HashMap里面...原创 2018-10-21 12:45:11 · 116399 阅读 · 36 评论 -
Shuffle流程
它要规划一个任务,是不是就是规划下有多少个map,有多少个reduce任务,然后在那些机器上再去启动,所以它事先肯定先去规划,要规划它肯定就得去计算用多少个切片,其实在源码里面就可以看到它在哪里计算,拿了多少个切片。map输出的数据到reduce之间,我们说框架做了很多的事,缓存,分组,排序,转发,这一部分细节其实是很重要的,这个叫作MapReduce里面的Shuffle机制。1)这幅图是...原创 2018-10-26 16:22:24 · 2092 阅读 · 0 评论