关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
云盘目录说明:
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

也添加一个克隆方法

处理代码中的错误,多数都是导包未完全的问题

代码已上传到云盘

最新文章

  1. Source Insight 常用设置和快捷键大全
  2. SendInput模拟Win(VK_LWIN)键的问题
  3. tomee 第一个 远程调用 Session Bean
  4. 切换到percona server各种问题
  5. 微博app中常用正则表达式
  6. python请求java Selenium Webdriver
  7. CUDA Memories--CUDA记忆体(翻译+整理+测试)
  8. erl0003-ets 几种类型的区别和ets效率建议 <转>
  9. 又一次认识HTML,CSS,Javascript 之node-webkit 初探
  10. Uva11582
  11. 电脑右键新建excel工作表,但是扩展名是.xls,而不是.xlsx
  12. 弄懂CNN,然后提升准确率4.21-4.27
  13. MyBatis源码解析(三)——Transaction事务模块
  14. 虚拟机的ip地址为什么会发生变化
  15. JQuery 标签之间组合取值
  16. maya2019卸载/安装失败/如何彻底卸载清除干净maya2019注册表和文件的方法
  17. C++学习(二十三)(C语言部分)之 指针4
  18. (F. MST Unification)最小生成树
  19. SQL一些问题
  20. C#.NET调用WSDL接口及方法

热门文章

  1. CSS伪类选择器实现三角形
  2. 解决pwn题目加载指定libc版本的问题
  3. AT2642 [ARC076A] Reconciled? 题解
  4. CF1166A Silent Classroom 题解
  5. LuoguP7285 「EZEC-5」修改数组 题解
  6. 遇到奇葩的现象,给input的id为10的value属性赋值为6,但是怎么显示的时候值还是原先的9的
  7. libevent源码学习(15):信号event的处理
  8. ACwing895. 最长上升子序列
  9. Xftp设置指定记事本(notepad++)打开文件
  10. java源码——计算立体图形的表面积和体积