HBASE:我是否需要具有复合键的键

时间:2014-05-13 07:26:35

标签: hbase

我有一个hbase表,其键为A_B_C,列为D和E. 如果我想阅读它们,我还需要在列中包含A,B和C吗?或者我可以将我的键拆分为“_”并找出A,B和C.

哪种方法更好?

2 个答案:

答案 0 :(得分:0)

如果您希望按部分扫描行键,可能您可以使用apt过滤器。

例如,

new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(your key regex))

Javadocs @ RowFilterRegexStringComparator会有所帮助。

您的列无需遇到密钥。

答案 1 :(得分:0)

不,你不需要A,B& C作为列。您可以将它们作为rowkeys的一部分来获取。事实上,如果您需要的值是行键的一部分,那么效率会更高。

只需获取rowkey,将其转换为Java String类型(使用 Bytes.toString())并使用 String.split(“_”拆分)