标签:flow driver 高效 bsp 流程 get apache task inf
使用合并的注意事项:
(1)合并是一种特殊的Reducer
(2)合并是在Mapper端执行一次合并,用于减少Mapper输出到Reducer的数据量,可以提高效率。
(3)举例:以WordCount为例
(4)注意:一定要谨慎使用Combiner,有些不能使用:求平均值
有Combiner,或者没有Combiner,都不能改变Map和Reduce对应数据的类型
原理图:

2 maptask工作机制


package it.dawn.YARNPra.flow流量汇总序列化.partition;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Partitioner;
/**
* @author Dawn
* @date 2019年5月3日22:03:08
* @version 1.0
* 自定义一个分区
*/
public class PhonenumPartitioner extends Partitioner<Text, FlowBean>{
//根据手机号前三位进行分区
@Override
public int getPartition(Text key, FlowBean value, int numpartitions) {
//1.获取手机号前三位
String phoneNum=key.toString().substring(0, 3);
//2:分区
int partitioner=4;
if("135".equals(phoneNum)) {
return 0;
}else if("137".equals(phoneNum)){
return 1;
}else if("138".equals(phoneNum)) {
return 2;
}else if("139".equals(phoneNum)) {
return 3;
}
return partitioner;
}
}


标签:flow driver 高效 bsp 流程 get apache task inf
原文地址:https://www.cnblogs.com/hidamowang/p/10807118.html