关于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,可以正常返回最大年龄和最小年龄了。。

记录一下避免再犯错。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号