关于AggregationClient 除了rowCount以外的其他聚合函数抛空指针异常的解释

今天测试使用AggregationClient来统计最大最小年龄,结果返回空指针异常,然后我执行了一下rowCount聚合函数,是可以正确返回行数的,因此可以判断coprocessor设置是成功的。

经过一番折腾后发现,原来在hbase shell里put进去的年龄变成了字符串。。。。我是这么写的:put 'member2','row-1','info:age',20 。因为我突然发现我在shell控制台scan表时可以直接看到age的值!!!如果是数字类型的话,在shell控制台上显示的应该是16进制的字符串。

于是我改用API的形式put了一些测试数据数据进去,采用Bytes.toBytes(25L)的形式设置age的值。然后我重新scan了一下表,现在看到的是16进制值了。

然后我重新执行了一下聚合函数min,max,可以正常返回最大年龄和最小年龄了。。

记录一下避免再犯错。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...