diff --git a/notes/Hbase过滤器详解.md b/notes/Hbase过滤器详解.md index 8ecb9c2..e4defbb 100644 --- a/notes/Hbase过滤器详解.md +++ b/notes/Hbase过滤器详解.md @@ -36,7 +36,7 @@ Hbase提供了种类丰富的过滤器(filter)来提高数据处理的效率 ## 二、过滤器基础 -#### 2.1 Filter接口和FilterBase抽象类 +### 2.1 Filter接口和FilterBase抽象类 Filter接口中定义了过滤器的基本方法,FilterBase抽象类实现了Filter接口。所有内置的过滤器则直接或者间接继承自FilterBase抽象类。用户只需要将定义好的过滤器通过`setFilter`方法传递给`Scan`或`put`的实例即可。 @@ -68,7 +68,7 @@ FilterBase的所有子类过滤器如下:
list = new ArrayList<>(); @@ -311,7 +311,7 @@ TimestampsFilter timestampsFilter = new TimestampsFilter(list); scan.setFilter(timestampsFilter); ``` -#### 4.7 首次行键过滤器 (FirstKeyOnlyFilter) +### 4.7 首次行键过滤器 (FirstKeyOnlyFilter) FirstKeyOnlyFilter只扫描每行的第一列,扫描完第一列后就结束对当前行的扫描,并跳转到下一行。相比于全表扫描,其性能更好,通常用于行数统计的场景,因为如果某一行存在,则行中必然至少有一列。 @@ -324,7 +324,7 @@ scan.set(firstKeyOnlyFilter); 包装过滤器就是通过包装其他过滤器以实现某些拓展的功能。 -#### 5.1 SkipFilter过滤器 +### 5.1 SkipFilter过滤器 SkipFilter包装一个过滤器,当被包装的过滤器遇到一个需要过滤的KeyValue实例时,则拓展过滤整行数据。下面是一个使用示例: @@ -338,7 +338,7 @@ Filter filter2 = new SkipFilter(filter1); -#### 5.2 WhileMatchFilter过滤器 +### 5.2 WhileMatchFilter过滤器 WhileMatchFilter包装一个过滤器,当被包装的过滤器遇到一个需要过滤的KeyValue实例时,WhileMatchFilter则结束本次扫描,返回已经扫描到的结果。下面是其使用示例: