Hadoop 求平均数

=原始数据==
张三    98
李四    94
王五    89
张三    86
李四    92
王五    86
张三    82
李四    90
---------------

<k1,v1>


<0,张三    98>
<7,李四    94>
<11,王五 89>
<17,张三 86>
………………………………
Map:map(),
value.toString().split("\t")
输出<k2,v2> k2:学号姓名   v2:成绩
<张三,98>
<李四,94>
<王五,89>
<张三,86>
………………

-----经过Shuffle,分区,按Key分组排序,<k2,{value集合}>
<张三,{98,96,82}>
<李四,{94,92,90}>
<王五,{89,86}>

--Reduce:reduce()
int sum=0;//累计求成绩之和
int count=0; //科目数

for(IntWritable score:v2s){
    sum=sum+score;
    count++;
}
int avg=sum/count;
----------------
====<k3,v3>
张三  ?
李四  ?
王五  ?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值