微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hbase:将版本放入Rowkey或CQ

如何解决Hbase:将版本放入Rowkey或CQ

我正在设计一个HBase表来存储流数据,如下所示:

键=数据集1 /类型1 /键1,序列= 1474525921777000,val =有效负载1

键=数据集1 /类型1 /键1,序列= 1474526532513000,val =有效负载2

key =数据集2 / type1 / key1,序列= 1474526743124000,val =有效负载3

key =数据集1 / type2 / key1,序列= 1474527211233000,val =有效负载4

...

数据访问模式包括对最新版本数据的大量查询,以及使用时间戳查找最新记录的查询。我正在考虑3种无法确定哪个更好的设计:

  1. 我首先考虑使用数据集/类型/键作为行键, 将ts(MAX_LONG-ts)反向作为列限定符 最新数据,我可以使用FirstKeyOnlyFilter返回第一个 限定词已排序。

  2. 然后我正在考虑使用MD5(dataset / type / key){reverse ts}作为 行键和原始键作为CQ(因为MD5是单向键)。我是 不确定是否会比第一种方法更快,因为这两个方法都在访问已排序数据集中的第一条记录。

  3. 行键:数据集/类型/键,CQ:一些虚拟值。只需使用HBase本机版本来存储不同版本。

该值是上述所有设计中的有效载荷。

我不确定哪个可以给我最快的查询。可能有什么缺点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。