承接上一篇文档《新增访客数量MR统计之NewInstallUserMapper相关准备》
创建NewInstallUserReducer
编写NewInstallUserReducer
需要创建一个MapWritableValue对象
编写代码
需要创建一个BaseStatsValueWritable对象
完成代码
继续完成MapWritableValue
添加属性
添加常用方法
实现父类方法
继续完成NewInstallUserReducer
添加属性和reduce方法
创建一个集合,用于数据的去重,并统计数量
循环变量value,将数据保存到集合中
获取去重后uuid的数量
构建输出对象
构建输出对象
创建NewInstallUsersRunner类
编写NewInstallUsersRunner
RunMethod方法
设置配置文件(附在文档后)
处理参数,一般处理时间参数
设置从hbase读取数据的相关代码
获取job的上下文
获取给定的参数,是执行那天的数据
构建scan应用的filter
构建只获取需要字段的filter
需要完成getColumnFilter方法
继续编写setHBaseInputConfig
构建filter过滤,非launch事件的数据
应用过根据column对应的value值进行过滤, 如果hbase对应表中没有给定的列,那么数据不过滤,全部返回
由于我们需要获取天、周、月的数据进行统计,所以需要获取多张表的数据
创建HBaseAdmin进行表是否存在进行判断(注意高低版本)
构建scan的集合
低版本的方式
高版本的话改一下
过滤
完成run方法
代码放到云盘里了下载就可以了