- org.apache.hadoop.hbase.filter
Class FuzzyRowFilter
- java.lang.Object
-
- org.apache.hadoop.hbase.filter.Filter
-
- org.apache.hadoop.hbase.filter.FilterBase
-
- org.apache.hadoop.hbase.filter.FuzzyRowFilter
-
@InterfaceAudience.Public public class FuzzyRowFilter extends org.apache.hadoop.hbase.filter.FilterBase
这是标准FuzzyRowFilter的优化版本,它基于模糊行键来过滤数据. 在扫描过程中执行快进. 它需要成对(行键,模糊信息)来匹配行键. 其中模糊信息是一个字节数组,其值为0或1:- 0-表示提供的行键中的此字节是固定的,即,行键在相同位置的字节必须匹配
- 1-表示提供的行键中的该字节不是固定的,即,此位置处的行键的字节可以与提供的行键中的字节不同
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.filter.Filter
Filter.ReturnCode
-
-
Constructor Summary
Constructors 构造函数和描述 FuzzyRowFilter(List<Pair<byte[],byte[]>> fuzzyKeysData)
-
Method Summary
所有方法 Static Methods Instance Methods Concrete Methods Deprecated Methods 修饰符和类型 方法和说明 boolean
equals(Object obj)
boolean
filterAllRemaining()
从不过滤所有剩余过滤器的过滤器可以继承该实现,该实现从不尽早停止过滤器.
Filter.ReturnCode
filterCell(Cell c)
一种基于列族,列限定符和/或列值进行过滤的方法.
Filter.ReturnCode
filterKeyValue(Cell c)
Deprecated.
Cell
getNextCellHint(Cell currentCell)
不确定下一步必须寻找哪个键的过滤器可以继承此实现,默认情况下返回空单元格.
int
hashCode()
static FuzzyRowFilter
parseFrom(byte[] pbBytes)
byte[]
toByteArray()
返回长度为0字节的数组,用于不需要特殊序列化的过滤器
String
toString()
返回过滤器的信息以进行调试和记录.
-
Methods inherited from class org.apache.hadoop.hbase.filter.FilterBase
createFilterFromArguments, filterRow, filterRowCells, filterRowKey, filterRowKey, hasFilterRow, isFamilyEssential, reset, transformCell
-
Methods inherited from class org.apache.hadoop.hbase.filter.Filter
isReversed, setReversed
-
-
-
-
Constructor Detail
-
FuzzyRowFilter
public FuzzyRowFilter(List<Pair<byte[],byte[]>> fuzzyKeysData)
-
-
Method Detail
-
filterKeyValue
@Deprecated public Filter.ReturnCode filterKeyValue(Cell c)
Deprecated.
从类复制的描述:
Filter
一种基于列族,列限定符和/或列值进行过滤的方法. 返回代码如下所述. 这允许过滤器仅过滤一定数量的列,然后终止而不匹配ever column. 如果filterRowKey返回true,则filterKeyValue需要与其保持一致. filterKeyValue可以假定已为该行调用filterRowKey. 如果您的过滤器返回
ReturnCode.NEXT_ROW
,则它应返回ReturnCode.NEXT_ROW
直到Filter.reset()
为止,以防万一调用方调用下一行. 具体的实现者可以通过抛出IOException
在他们的代码中指示失败情况.Overrides:
Parameters:
c
相关单元Returns:
如下所述,默认为Filter.ReturnCode.INCLUDE
See Also:
-
filterCell
public Filter.ReturnCode filterCell(Cell c)
从类复制的描述:
Filter
一种基于列族,列限定符和/或列值进行过滤的方法. 返回代码如下所述. 这允许过滤器仅过滤一定数量的列,然后终止而不匹配ever column. 如果filterRowKey返回true,则filterCell需要与其保持一致. filterCell可以假定已为该行调用filterRowKey. 如果您的过滤器返回
ReturnCode.NEXT_ROW
,则它应返回ReturnCode.NEXT_ROW
直到Filter.reset()
为止,以防万一调用方调用下一行. 具体的实现者可以通过抛出IOException
在他们的代码中指示失败情况.Overrides:
Parameters:
c
相关单元Returns:
如下所述的代码
See Also:
-
getNextCellHint
public Cell getNextCellHint(Cell currentCell)
Description copied from class:
org.apache.hadoop.hbase.filter.FilterBase
不确定下一步必须寻找哪个键的过滤器可以继承此实现,默认情况下返回空单元格. 如果过滤器返回匹配代码SEEK_NEXT_USING_HINT,则它还应该告诉哪个是它必须寻求的下一个关键字. 收到匹配代码SEEK_NEXT_USING_HINT后,QueryMatcher将调用此函数以找出下一步必须寻找的键. 具体的实现者可以通过抛出
IOException
在他们的代码中指示失败情况.Overrides:
org.apache.hadoop.hbase.filter.FilterBase
类中的getNextCellHint
Returns:
下一步必须寻找的KeyValue. 如果过滤器不确定下一步要寻找哪个键,则返回null.
-
filterAllRemaining
public boolean filterAllRemaining()
从类
org.apache.hadoop.hbase.filter.FilterBase
复制的描述从不过滤所有剩余过滤器的过滤器可以继承该实现,该实现从不尽早停止过滤器. 如果返回true,则扫描将终止. 具体的实现者可以通过抛出
IOException
在他们的代码中指示失败情况.Overrides:
filterAllRemaining
在类org.apache.hadoop.hbase.filter.FilterBase
Returns:
结束扫描为true,继续扫描为false.
-
toByteArray
public byte[] toByteArray()
从类
org.apache.hadoop.hbase.filter.FilterBase
复制的描述返回长度为0字节的数组,用于不需要特殊序列化的过滤器
Overrides:
org.apache.hadoop.hbase.filter.FilterBase
类中的toByteArray
Returns:
使用pb序列化的过滤器
-
parseFrom
public static FuzzyRowFilter parseFrom(byte[] pbBytes) throws org.apache.hadoop.hbase.exceptions.DeserializationException
Parameters:
pbBytes
一个pb序列化的FuzzyRowFilter
实例Returns:
由
bytes
的FuzzyRowFilter
的实例Throws:
org.apache.hadoop.hbase.exceptions.DeserializationException
See Also:
-
toString
public String toString()
从类
org.apache.hadoop.hbase.filter.FilterBase
复制的描述返回过滤器的信息以进行调试和记录.
Overrides:
org.apache.hadoop.hbase.filter.FilterBase
类中的toString
-
-