新增访客数量MR统计之NewInstallUserMapper中维度信息准备
关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
云盘目录说明:
tools目录是安装包
res 目录是每一个课件对应的代码和资源等
doc 目录是一些第三方的文档工具
承接上一篇文档《向HBase添加日志信息》
创建类NewInstallUserMapper
编写类
需要完成一个维度信息类StatsUserDimension
创建类
编写StatsUserDimension
需要创建StatsDimension
编写StatsDimension
还需要再准备一个BaseDimension
完成BaseDimension
其中StatsDimension和BaseDimension暂时不写其它内容,我们继续回去编写StatsUserDimension
需要两个维度对象StatsCommonDimension和BrowserDimension
编写StatsCommonDimension
需要DateDimension、PlatformDimension和KpiDimension三个维度信息
依次编写
首先是DateDimension
其它属性
自己添加:无参构造函数(必须给定)、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法、hashCode、equals、compareTo、toString方法实现
添加两个方法
write
readFields
实现一个buildDate方法
准备一个DateEnum枚举
完成DateEnum枚举
枚举值
valueOfName方法
继续完成buildDate方法
获取给定时间戳中对应的年份
获取给定时间戳对于的季度,取值范围:[1,4]
获取给定时间戳对于的月份,取值范围: [1,12]
获取给定时间戳对应的周数,取值范围:[1,53]
获取给定时间戳对应的天,取值范围: [1,31]
再完成PlatformDimension类维度信息
自己添加:无参构造函数,必须给定、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法
hashCode、equals、compareTo、toString方法实现
write和readFields方法
完成buildList方法
参数检验
构建平台维度信息
再完成KpiDimension
自己添加:无参构造函数,必须给定、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法
hashCode、equals、compareTo、toString方法实现
write和readFields方法
完成BrowserDimension类
自己添加:无参构造函数,必须给定、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法
hashCode、equals、compareTo、toString方法实现
添加write和readFields方法
创建一个静态方法,根据给定的浏览器信息创建一个对象
创建buildList方法
添加参数筛选
构建信息
继续完成StatsCommonDimension
自己添加无参构造函数,必须给定、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法
hashCode、equals、compareTo、toString方法实现
添加write和readFields方法
添加克隆方法:根据一个已有的对象clone一个对象出来
完成代码
继续完成StatsUserDimension类
自己添加:无参构造函数,必须给定、给定全部参数的构造函数、有参构造方法, 主要用于构造具体的时间维度对象、get/setter方法
hashCode、equals、compareTo、toString方法实现
添加write和readFields
也添加一个克隆方法
处理代码中的错误,多数都是导包未完全的问题
代码已上传到云盘
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构