![](https://img-blog.csdnimg.cn/20190414074935369.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hadoop原理解析
介绍Hadoop生态圈组件应用与原理
暗夜猎手-大魔王
热爱运动,喜欢跑步
展开
-
Hadoop--MapReduce10--工作机制
以WordCount为例,研究一下MapReduce的内部工作机制。统计某个输入目录下所有文件中每个单词以及出现的次数。map阶段:读取数据每一行,切分数据,单词作为key,次数1作为value,输出到context中。reduce阶段:接受来自map阶段的输出,按照相同key来聚合分组,每一组执行一次reduce方法,累加,将结果写入到context中。最终MapReduce运行...原创 2019-03-18 21:51:31 · 157 阅读 · 0 评论 -
Hadoop--MapReduce9--数据倾斜
统计下面文本的wordcounta a a a a a b b b a a a a a a a c c b c a a a ca b b c a a d d e e f ff g a a a b a b h h g ja a a a a a b b b a a a a a a a a a b b b a a a a a a a a a b b b a a a a a a a a...原创 2019-03-18 19:17:09 · 142 阅读 · 0 评论 -
Hadoop--MapReduce8--Join算法
现有user表以及order表,要求利用MapReduce实现两张表的userId字段join算法。user表u001,senge,18,angelababyu002,laozhao,48,ruhuau003,xiaoxu,16,chungeu004,laoyang,28,zenggeu005,nana,14,huangboorder表order001,u001ord...原创 2019-03-15 17:33:44 · 215 阅读 · 0 评论 -
Hadoop--MapReduce7--自定义GroupingComparator
在reduce中,相同key会聚合到一起作为一组,每一组都会按照一定的规则来排序GroupingComparator给定以下数据,每一行分别表示一条线段的左右端点1,42,53,42,64,75,85,96,1010,1511,1612,1813,17求点交错的层数例如1交错1层(1,4) 2交错3层(1,4)(2,5)(2,6)map : 输入每一行...原创 2019-03-07 16:55:42 · 239 阅读 · 0 评论 -
Hadoop--MapReduce6--控制输入输出格式
在mapreduce处理过程中,map阶段处理数据,得到一系列key-value,然后由reduce将相同key进行聚合,maptask任务会分布在不同机器上执行,输出结果保存在运行机器上,reducetask首先需要将map输出文件下载本地运行机器,因此map以及reduce阶段输出文件的格式很重要,使用简洁格式可以大大减少数据的传输量。在提交任务运行时,可以通过Job对象s...原创 2019-03-04 19:42:45 · 206 阅读 · 0 评论 -
Hadoop--MapReduce5--倒排索引
日常检索时输入某一个关键字输出与这个关键字有关的文档列表,如果将文档名称看做key,文档内容看成value,一般检索可以通过key来检索value,现在如果把文档中内容碎片化,抽取关键词,然后处理所有文件,可以得到一个以关键词为key,value为文档列表的倒排文档列表,这样便实现了倒排索引。需求:有大量的文本文档,如下所示:a.txthello tomhell...原创 2019-03-04 19:13:38 · 177 阅读 · 0 评论 -
Hadoop--MapReduce4--求解Topn问题
给定数据文件格式如下所示:2017/07/28 qq.com/a2017/07/28 qq.com/bx2017/07/28 qq.com/by2017/07/28 qq.com/by32017/07/28 qq.com/news2017/07/28 sina.com/news/socail2017/07/28 163.com/ac2017/07/28 sina.com/new...原创 2019-02-28 21:00:03 · 379 阅读 · 0 评论 -
Hadoop--MapReduce3--自定义Partitioner
在MapReduce处理过程中,map阶段每个maptask读取负责的文件切片,输入key为行的起始偏移量,输入value为行的内容;输出key-value为自定义类型,然后每个map将各自产生的key-value分发到不同的reducetask,相同的key必将分发到同一个reducetask以实现相同key数据聚合,其基本原理如下: 每个maptask在分发数据时其由Parti...原创 2019-02-27 21:04:02 · 531 阅读 · 0 评论 -
Hadoop--MapReduce2--自定义序列化数据类型
在MapReduce编程模型中,Map阶段以及Reduce阶段都需要对输入输出的数据进行序列化以及反序列化,因此输入输出的参数必须实现特定的接口Writable,具体来说Hadoop对基本数据类型已做封装如Text,LongWritable,IntWritable,FloatWritable,NullWritable等。Writable接口定义如下:@Public@Sta...原创 2019-02-27 20:27:31 · 1319 阅读 · 0 评论 -
Hadoop--MapReduce1--WordCount实现
利用MapRuduce来统计HDFS中指定目录下所有文件中单词以及单词出现的次数,结果输出到另一个HDFS目录中。待统计HDFS目录/wordcount/input/input 待统计文件示意: MapReduce分布式计算框架map阶段:读取文本文件中的每一行,执行map方法,将处理结果key...原创 2019-02-22 18:03:08 · 536 阅读 · 0 评论 -
Hadoop--分布式调度平台YARN--YARN集群搭建
Yarn是Hadoop提供的自动化调度平台,可以实现MapReduce计算任务的自动化调度。yarn是一个分布式程序的运行调度平台。yarn中有两大核心角色:Resource Manager接受用户提交的分布式计算程序,并为其划分资源管理、监控各个Node Manager上的资源情况,以便于均衡负载Node Manager管理它所在机器的运算资源(cpu + 内存)...原创 2019-02-22 16:01:00 · 395 阅读 · 0 评论 -
Hadoop--分布式文件系统HDFS--HDFS原理解析
HDFS是一种分布式文件系统,能够实现对于文件的分布式存储管理等功能。系统组成客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<切块的行为是由客户端决定的>。一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色...原创 2019-02-22 10:39:33 · 572 阅读 · 0 评论 -
Hadoop--分布式文件系统HDFS--Java客户端调用
启动HDFS集群,集群示意图如下:hadoop-01作为NameNode同时也作为DataNode hadoop-02作为DataNode 使用Java客户端来对HDFS文件系统进行操作管理,首先建立工程,导入所需Jar包,主要包括hadoop/share/hadoop目录下common包以及hdfs包下的jar包。使用Java客户端主要使用FileS...原创 2019-02-18 09:51:13 · 450 阅读 · 1 评论 -
Hadoop--分布式文件系统HDFS--环境搭建
HDFS为Hadoop提供的分布式文件系统,实现将文件分布式存储在很多机器上。hdfs有着文件系统共同的特征:有目录结构,顶层目录是: / 系统中存放的是文件 系统可以提供对文件的:创建、删除、修改、查看、移动等功能HDFS集群组建: 搭建Hadoop环境:搭建一个NameNode以及两个个DataNo...原创 2019-02-16 20:54:14 · 812 阅读 · 0 评论