hbase中的排序完全是byte数组的字典顺序,而float,int这样的数据,转换为byte数组之后,字典顺序往往不是其自然顺序.即 -43.2的byte数组可能比-1002.3的byte数组的字典顺序小,这样筛选排序就会有问题.在hbase中解决这样的问题,可以用[url=http://kabike.iteye.com/blog/2168857]自定义Comparator[/url]的方法,另外就是使用OrderedBytes.用OrderedBytes生成的byte数组,往往能保留数据的自然顺序,比如OrderedBytes生成的float型数据的byte数据是5个字节,比Bytes的toBytes方法多了一个字节,但是数据的自然顺序得到了保留
hbase中使用OrderedBytes
最新推荐文章于 2022-08-30 16:48:56 发布