我有一个hbase表,其键为A_B_C,列为D和E. 如果我想阅读它们,我还需要在列中包含A,B和C吗?或者我可以将我的键拆分为“_”并找出A,B和C.
哪种方法更好?
答案 0 :(得分:0)
如果您希望按部分扫描行键,可能您可以使用apt过滤器。
例如,
new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(your key regex))
Javadocs @ RowFilter和RegexStringComparator会有所帮助。
您的列无需遇到密钥。
答案 1 :(得分:0)
不,你不需要A,B& C作为列。您可以将它们作为rowkeys的一部分来获取。事实上,如果您需要的值是行键的一部分,那么效率会更高。
只需获取rowkey,将其转换为Java String类型(使用 Bytes.toString())并使用 String.split(“_”拆分)强>