分布式并行计算框架MapReduce深入了解

分布式并行计算框架MapReduce

是指实现某项任务或某项工作从开始到结束的计算过程或流的结构。
在这里插入图片描述

分布式并行计算框架

一个大的任务被拆分成多个小任务,每个小任务同时执行。按照执行流程进行计算。
在这里插入图片描述

大数据为什快

横向扩展
移动程序到数据端
多个数据副本
分布式存储(减小磁盘IO的瓶颈)
分布式计算(众人拾柴火焰高-人多力量大)

WordCount 单词总和
需求:
计算aaa.txt文档中每个单词出现的次数
例如:
zhangsan,lisi,wangwu
zhaoliu,qianqi,niuba
zhangsan,wangwu
zhaoliu,niuba
目标结果:
zhangsan 2
lisi 1
wangwu 2
zhaoliu 2
qianqi 1
niuba 2

代码
第一步:配置pom文件
偏移量
指的是每行行首字母移动到文办的最前面需要一定的字符。
MapReduce的数据类型
java: long int double float string Boolean
hadoop : LongWritable IntWritable DoubleWritable FloatWritable Text BooleanWritable
编写Map代码
1、实例一个实体类,继承Mapper<输入放入key的类型,输入的value的类型,输出放入key的类型,输出的value的
类型>
2 、重写map(LongWritable key, Text value, Context context)
key 每行行首的偏移量
value 每一行的数据
context 上下文对象
3、实现自己业务逻辑的代码
将数据进行拆分,并进行逐一输出。
编写Reduce代码
1、实例一个实体类,继承Reducer<输入放入key的类型,输入的value的类型,输出放入key的类型,输出的value的
类型> 2、重写reduce(Text key, Iterable values, Context context)
key: 每一个唯一的数据(游戏中的图形)
values: 每一个图形 ,1 的标记(1的list)
context:上下文对象
3、遍历values(1的list)
进行求和
4、将key 和这个key对应的value(总和)输出。

Driver代码流程

//1 、实例一个job
//2、使用job 设置读物数据(包括数据的路径)
//3、使用job 设置MAP类(map 输入和输出的类型)
//4、使用job 设置Reduce类(Reduce 输入和输出的类型)
//5、使用job 设置数据的输出路径
//6、返回执行状态编号

Map的输出 是key,value的 list Reduce的输入 是key value的list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值