大数据全系列 教程
1869个小节阅读:467.3k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
package cn.itbaizhan.tranformer.mr.activeuser;
import cn.itbaizhan.tranformer.model.MapWritableValue;
import cn.itbaizhan.tranformer.model.StatsUserDimesion;
import cn.itbaizhan.tranformer.model.TimeOutputValue;
import org.apache.hadoop.io.MapWritable;
import org.apache.hadoop.mapreduce.Reducer;
import java.io.IOException;
public class ActiveUserReducer extends Reducer<StatsUserDimesion, TimeOutputValue,StatsUserDimesion, MapWritableValue> {
//声明并实例化输出的value对象
//去重,定义Set集合
@Override
protected void reduce(StatsUserDimesion key, Iterable<TimeOutputValue> values, Reducer<StatsUserDimesion, TimeOutputValue, StatsUserDimesion, MapWritableValue>.Context context) throws IOException, InterruptedException {
//清空集合,排除上一组数据的干扰
//遍历values,将获取出的uuid添加到Set集合对象中
//声明并实例MapWritable对象 mapw
//将获取用户的数量添加到mapw中
//并将mapw封装到Reduce输出的value对象中
//kpi维度处理
//输出
}
}
将源码\活跃用户相关\ActiveUserBrowserCollector.java和ActiveUserCollector.java拷贝项目对应的文件夹中
修改配置文件output-collector.xml:
xxxxxxxxxx
<!-- 用户基本信息活跃用户 -->
<property>
<name>collector_active_user</name>
<value>cn.itbaizhan.tranformer.mr.activeuser.ActiveUserCollector</value>
</property>
<!-- 浏览活跃用户分析 -->
<property>
<name>collector_browser_active_user</name>
<value>cn.itbaizhan.tranformer.mr.activeuser.ActiveUserBrowserCollector</value>
</property>