0

Context2:我也不明白为什么Scan API 没有你指定开始和结束行键+列限定符,因为它们一起存储在 HFile 中。这使您不得不使用 ColumnPrefixFilter 并且奇怪的是:“HBase the Definitive Guide”说它不是早期过滤器(表 4-5)。

“early-out”这个词意味着过滤器可以在扫描中途返回,因此没有这种能力意味着它无法知道前面是否有需要过滤的键。(RowFilter可以。)

我的论点2: Column 已经在 HFile 中排序,但列过滤器没有利用这个优势来知道它应该在哪里提前过滤,这真的很奇怪。在这个博客的某处它说:

这就是 ColumnRangeFilter 发挥作用的地方。此过滤器通过向前搜索包含该列的第一个 KeyValue(或单元格)的第一个 HBase 块来有效地搜索该行。

该论点显然是过滤器可以利用键的顺序结构的证据。

Question2:为什么ColumnFilter或ColumnPrefixFilter不能像行类型过滤器一样早出?如果是,那么是否说明我们应该一直渴望设计一张高桌?

4

0 回答 0