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:指定输出数据的工具类,用于指定任务的输出数据路径
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值