上下文2 : 此外,我不明白为什么扫描 API没有您指定开始和结束行键+列限定符,因为它们一起存储在HFile中。这让你诉诸于使用ColumnPrefixFilter,奇怪的是:“HBase the Definitive Guide”说它不是早期过滤器(表4-5)。
单词“early-out”表示过滤器可以在扫描中途返回,因此没有这种能力意味着它无法知道前面是否有需要过滤的键。(RowFilter可以。)
我的论点2 : Column已经在HFile中排序了,这真的很奇怪,但是列过滤器没有利用这个优势来知道它应该提前过滤的位置。 在这个blog的某个地方,它说:
这是ColumnRangeFilter发挥作用的地方。此过滤器通过向前搜索包含该列的第一个KeyValue(或单元格)的第一个HBase块来有效地进入该行。
该论证显然证明过滤器可以利用密钥的顺序结构。
问题2 :为什么ColumnFilter或ColumnPrefixFilter不能像行类型过滤器一样提早出局?如果它是,那么它是否告诉我们应该总是希望设计一个高大的桌子?