关于CourseClickCountDAO中存储数据的疑问
来源:12-16 -功能一之数据库访问DAO层方法实现

慕粉1325555707
2018-08-07
老师您好:
第一个问题
在编写HBaseUtils时,采用了put Api来实现HBase数据存储。但是在CourseClickCountDAO时,又采用了incrementColumnValue这API实现HBase的存储,这两者的区别是不是:
put只是添加记录,如果遇到重复的qualifer,会覆盖;
而incrementColumnValue,遇到已存的qualifer会累加,遇到没有的qualifer记录,就添加。
第二个问题,在测试CourseClickCountDAO我遇到了
field is not a long, it is 1 byte wide这个错误,我看到有帖子已经发过这个错误,这个错误的解决方式是讲HBaseUtils中put 方法中 value的参数类型从String 修改为Long,这里我很费解,因为在CourseClickCountDAO中的save方法并没有用到HBaseUtils的put 方法,为什么修改了put方法的参数类型,CourseClickCountDAO测试就没问题了
写回答
2回答
-
我刚看了下,实体类的case class中定义了数据类型
042020-09-04 -
Michael_PK
2018-08-07
第一个问题:如果累加那就是incre....,put的话需要自己获取出来再加上再放进去吧。第二个问题我明天看下代码,再回复你,时间比较长,记不太清了
00
相似问题