org.apache.hadoop.hbase.filter
Class RowFilter

java.lang.Object
  extended by org.apache.hadoop.hbase.filter.FilterBase
      extended by org.apache.hadoop.hbase.filter.CompareFilter
          extended by org.apache.hadoop.hbase.filter.RowFilter
All Implemented Interfaces:
Filter, org.apache.hadoop.io.Writable

public class RowFilter
extends CompareFilter

This filter is used to filter based on the key. It takes an operator (equal, greater, not equal, etc) and a byte [] comparator for the row, and column qualifier portions of a key.

This filter can be wrapped with WhileMatchFilter to add more control.

Multiple filters can be combined using FilterList.

If an already known row range needs to be scanned, use Scan start and stop rows directly rather than a filter.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.filter.CompareFilter
CompareFilter.CompareOp
 
Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.filter.Filter
Filter.ReturnCode
 
Field Summary
 
Fields inherited from class org.apache.hadoop.hbase.filter.CompareFilter
comparator, compareOp
 
Constructor Summary
RowFilter()
          Writable constructor, do not use.
RowFilter(CompareFilter.CompareOp rowCompareOp, WritableByteArrayComparable rowComparator)
          Constructor.
 
Method Summary
 Filter.ReturnCode filterKeyValue(KeyValue v)
          Filters that dont filter by key value can inherit this implementation that includes all KeyValues.
 boolean filterRow()
          Filters that never filter by rows based on previously gathered state from FilterBase.filterKeyValue(KeyValue) can inherit this implementation that never filters a row.
 boolean filterRowKey(byte[] data, int offset, int length)
          Filters that do not filter by row key can inherit this implementation that never filters anything.
 void reset()
          Filters that are purely stateless and do nothing in their reset() methods can inherit this null/empty implementation.
 
Methods inherited from class org.apache.hadoop.hbase.filter.CompareFilter
doCompare, getComparator, getOperator, readFields, write
 
Methods inherited from class org.apache.hadoop.hbase.filter.FilterBase
filterAllRemaining, filterRow, getNextKeyHint, hasFilterRow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RowFilter

public RowFilter()
Writable constructor, do not use.


RowFilter

public RowFilter(CompareFilter.CompareOp rowCompareOp,
                 WritableByteArrayComparable rowComparator)
Constructor.

Parameters:
rowCompareOp - the compare op for row matching
rowComparator - the comparator for row matching
Method Detail

reset

public void reset()
Description copied from class: FilterBase
Filters that are purely stateless and do nothing in their reset() methods can inherit this null/empty implementation.

Specified by:
reset in interface Filter
Overrides:
reset in class FilterBase

filterKeyValue

public Filter.ReturnCode filterKeyValue(KeyValue v)
Description copied from class: FilterBase
Filters that dont filter by key value can inherit this implementation that includes all KeyValues.

Specified by:
filterKeyValue in interface Filter
Overrides:
filterKeyValue in class FilterBase
Parameters:
v - the KeyValue in question
Returns:
code as described below
See Also:
Filter.ReturnCode

filterRowKey

public boolean filterRowKey(byte[] data,
                            int offset,
                            int length)
Description copied from class: FilterBase
Filters that do not filter by row key can inherit this implementation that never filters anything. (ie: returns false).

Specified by:
filterRowKey in interface Filter
Overrides:
filterRowKey in class FilterBase
Parameters:
data - buffer containing row key
offset - offset into buffer where row key starts
length - length of the row key
Returns:
true, remove entire row, false, include the row (maybe).

filterRow

public boolean filterRow()
Description copied from class: FilterBase
Filters that never filter by rows based on previously gathered state from FilterBase.filterKeyValue(KeyValue) can inherit this implementation that never filters a row.

Specified by:
filterRow in interface Filter
Overrides:
filterRow in class FilterBase
Returns:
true to exclude row, false to include row.


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.