我是靠谱客的博主 虚心鸵鸟,最近开发中收集的这篇文章主要介绍MapReducer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MapReducer是一种编程模型 面向大数据并行处理的一种计算模型,框架和平台

基本特点:

        分布可靠,对数据集的操作分发给多个集群中的多个节点实现可靠性,每个节点周期性返回它完成的任务和最新状态

        封装实现了细节,基于框架API编程,面向业务 展开分布式编码

提供跨语言编程的能力

运行流程:

map阶段和reducer阶段

map:由map task组成

输入数据解析格式InputFormat

输入数据处理 Mapper

数据区分 Partitioner

数据按照key排序

本地规约 Combiner

将任务输出保存到本地

Reducer阶段有Reducer task组成

数据远程拷贝

数据按照key排序和文件合并merge

数据处理 Reducer

数据输出格式 OutputFormat

MapReduce开发流程:

搭建开发环境,参考HDFS环境搭建 基本一致

基于MapReducer框架编写代码 Map Reducer Driver三部分组成

编译打包 将源代码打成的包和依赖jar包打成一个包

上传至运行环境

运行hadoop jar命令 现已有yarn jar 替代 建议使用新命令提交执行

Map类编写

mapper:对map过程的封装
Text:Hadoop对Java String类的封装,适用于Hadoop对文本字符串的处理
IntWritable:Hadoop对Java Integer类的封装,适用于Hadoop整型的处理
Context:Hadoop环境基于上下文的操作对象,如Map中key/value的输出、分布式缓存数据、分布式参数传递等
StringTokenizer:对String对象字符串的操作类,做基于空白字符的切分操作工具类
 

 Reduce类编写

Reducer:是MapReduce计算框架中Reduce过程的封装

Driver类编写

Configuration:与HDFS中的Configuration一致,负责参数的加载和传递
Job:作业,是对一轮MapReduce任务的抽象,即一个MapReduce的执行全过程的管理类
FileInputFormat:指定输入数据的工具类,用于指定任务的输入数据路径
FileOutputFormat:指定输出数据的工具类,用于指定任务的输出数据路径
 

最后

以上就是虚心鸵鸟为你收集整理的MapReducer的全部内容,希望文章能够帮你解决MapReducer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部