HBase rowkey,包括时间戳

时间:2015-11-24 07:51:01

标签: hadoop hbase

我想知道如下所示的rowkeys是不是很糟糕:

用户名时间戳

这些行将从MapReduce作业中读取,并将使用java客户端API进行放置。此外,将使用STARTROW,ENDROW选择子集。

一方面,这对我的用例来说似乎很方便,因为我可以扫描特定的间隔,而且几乎是后续的MR作业,而另一方面,我读到最好避免长行和热插拔。

这个设计确实存在问题以及如何克服它?

我是HBase的新手,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

一般建议是避免单调增加行键。为此目的,一些软件工具包括所谓的"盐"行键,跨区域哈希键。可在此处找到讨论:http://hbase.apache.org/0.94/book/rowkey.design.html。在这里:https://phoenix.apache.org/salted.html。您还可以查看Apache Trafodion http://trafodion.apache.org/,它使用行键salting来分发类似SQL的主键。