将假行插入HBase表中,以便将它们用作带有PrefixFilter的startrow,以优化读取

时间:2016-08-06 00:37:42

标签: hbase

在HBase中,rowkeys按排序顺序存储。使用PrefixFilter进行扫描将对索引执行全表扫描,直到找到匹配项为止。比赛结束后,扫描将终止。防止全表扫描的常见解决方案是将startrow与PrefixFilter结合使用。 但是,如果您事先不知道startrow,那么这项工作就不会有效。

假设您有以下模板:

<foo>|<bar>|<baz>|

我想添加一堆可以用作startrow的虚假行。

例如,请使用以下行键:

a|
a|b|c|
a|d|e|
a|f|g|
b|
b|b|c|
b|d|e|
b|f|g|

此处,行a|b|是&#34;假行&#34;谁只是为了优化查询而存在:

scan 'tab', {STARTROW => 'b|', FILTER => "PrefixFilter('b')"}

这种策略是否会按预期运作?

0 个答案:

没有答案