
方式一:对于类型多的放前面,这样比类型少的更容易打乱()
分类有20多种类型 排序方式 4种 日期 1种
val put = new Put(writer.reset().pack(rankLabelType).pack(rankOrderEnum.getOrderType).pack(rowkeyDate).pack(rank).toByteArray)
方式二:如果对于查询必须要有全部的字段 ,那么可以对三个字符串进行拼接然后统一Hash(最优)
对于同类型的数据逻辑上的存储要在一起,物理上的存储不在一起。这样就是最优的存储方式
val put = new Put(writer.reset().pack(DigestUtils.sha1Hex(rankLabelType + "-" +rankOrderEnum.getOrderType + "-" +rowkeyDate)).pack(rank).toByteArray)
DigestUtils.sha1Hex()对于日期哈希,同一天还是同一个值 能够打乱隔天的数据
(如果哈希了,比如:20220314和20220315 会存放在不同的RegionServer)
