行键设计希望得到的效果:
1 尽可能大的离散度,数据均匀分布在hbase region上
2 rowkey尽量短,最好在16个字节内。
常用方式:
1 时间戳反转
2 hash
3 md5 :
a byte[] rowkey = MD5(in)
b DigestUtils.md5Hex(values).subString(0,n) 取前几个字符。 比较友好,在hbase shell中能调试查询。
行键类型
1 随机字符串
2 自增数字
3 自定义对象:对象中成员如果是字符串类型,太大,可求hashcode,使用long代替(8个字节)。