
MapReduce
镜子里的宇宙
这个作者很懒,什么都没留下…
展开
-
MapReduce 的 combiner
MapReduce 的 combiner原理代码实现 原理 每一个 map 都可能会产生大量的本地输出,Combiner 的作用就是对 map 端的输出先做一次合并,以减少在 map 和 reduce 节点之间的数据传输量,以提高网络IO 性能,是 MapReduce 的一种优化手段之一。 combiner 是 MR 程序中 Mapper 和 Reducer 之外的一种组件 combiner 组件的父类就是 Reducer combiner 和 reducer 的区别在于运行的位置: Combiner 是原创 2020-12-11 10:17:02 · 437 阅读 · 0 评论 -
hadoop_MapReduce 多job串联 多个reduce
job串联适用场景代码实现 适用场景 一个稍复杂点的处理逻辑往往需要多个mapreduce程序串联处理,多job的串联可以借助mapreduce框架的JobControl实现 代码实现 仅提供主类代码: package Reduce1_Reduce2; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apach原创 2020-11-11 20:05:04 · 646 阅读 · 0 评论 -
hadoop_MapReduce 自定义outputFormat
自定义outputFormat适用场景分析实现思路代码实现:自定义一个outputformat定义RecordWriter类定义Map定义Driver主类 适用场景 将最终的数据分开到不同的文件夹下面去 分析 程序的关键点是要在一个mapreduce程序中根据数据的不同,输出两类结果到不同目录,这类灵活的输出需求可以通过自定义outputformat来实现 实现思路 实现要点: 1、在mapreduce中访问外部资源 2、自定义outputformat,改写其中的recordwriter,改写具体输出数据原创 2020-11-06 14:48:33 · 163 阅读 · 0 评论 -
Hadoop_MapReduce 自定义InputFromat合并小文件
自定义InputFromat适用场景分析实现思路代码实现:自定义InputFromat自定义RecordReader定义map定义主类 适用场景 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案 分析 小文件的优化无非以下几种方式: 1、在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS 2、在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并 3、在mapreduce处理时,可采用combine原创 2020-11-05 21:23:50 · 363 阅读 · 1 评论 -
hadoop_MapReduce map端join算法实现
Join算法原理阐述实现示例 原理阐述 适用于关联表中有小表的情形; 可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行join并输出最终结果,可以大大提高join操作的并发度,加快处理速度 实现示例 map端的初始化方法当中获取缓存文件: package MapJoin; import org.apache.hadoop.filecache.DistributedCache; import org.apache.hadoop.fs.FSDataInputStre原创 2020-11-04 20:49:46 · 230 阅读 · 0 评论 -
hadoop MapReduce 压缩算法
压缩算法压缩好处hadoop支持的压缩格式各种压缩算法对应使用的java类常见的压缩速率比较压缩代码配置全局的MapReduce压缩 压缩好处 节约磁盘空间 加速数据在网络和磁盘上的传输 hadoop支持的压缩格式 前面hadoop的版本经过重新编译之后,可以看到hadoop已经支持所有的压缩格式了,剩下的问题就是该如何选择使用这些压缩格式来对MapReduce程序进行压缩 可以使用bin/hadoop checknative 来查看编译之后的hadoop支持的各种压缩,如果出现openssl为fa原创 2020-11-03 20:32:55 · 209 阅读 · 0 评论 -
分布式计算框架MapReduce 理论
分布式计算框架MapReduceHadoop组成什么是计算框架什么是并行计算框架什么是分布式计算理解MapReduce思想MapReduce并行计算Hadoop -MapReduce设计构思 Hadoop组成 Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。 Hadoop MapReduce:一个分布式的资源调度和离线并行计算框架。 Hadoop Yarn:基于HDFS,用于作业调度和集群资源管理的框架。 什么是计算框架 是指实现某项任务或某项工作从开始到结束的计算原创 2020-11-13 08:58:26 · 921 阅读 · 4 评论 -
hadoop_HA MapReduce 类定义及计数器
MapReduce统计数据中每个出现的单词总数上传文本到hdfs文件系统中idear创建maven项目导包定义一个mapper类定义一个reducer类定义一个主类,用来描述job并提交job将代码打包成jar包上传到服务器上运行运行结果 上传文本到hdfs文件系统中 hdfs dfs -mkdir /wordcount hdfs dfs -put /export/servers/wordcount.txt /wordcount/ idear创建maven项目 导包 将代码复制到pom文件中: &l原创 2020-10-24 13:17:24 · 164 阅读 · 0 评论