org.apache.hadoop.hbase.filter
Class ColumnPaginationFilter

java.lang.Object
  extended by org.apache.hadoop.hbase.filter.Filter
      extended by org.apache.hadoop.hbase.filter.FilterBase
          extended by org.apache.hadoop.hbase.filter.ColumnPaginationFilter

@InterfaceAudience.Public
@InterfaceStability.Stable
public class ColumnPaginationFilter
extends FilterBase

A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset. This filter can be used for row-based indexing, where references to other tables are stored across many columns, in order to efficient lookups and paginated results for end users. Only most recent versions are considered for pagination.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.filter.Filter
Filter.ReturnCode
 
Field Summary
 
Fields inherited from class org.apache.hadoop.hbase.filter.Filter
reversed
 
Constructor Summary
ColumnPaginationFilter(int limit, byte[] columnOffset)
          Initializes filter with a string/bookmark based offset and limit.
ColumnPaginationFilter(int limit, int offset)
          Initializes filter with an integer offset and limit.
 
Method Summary
static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
           
 Filter.ReturnCode filterKeyValue(Cell v)
          Filters that dont filter by key value can inherit this implementation that includes all Cells.
 byte[] getColumnOffset()
           
 int getLimit()
           
 Cell getNextCellHint(Cell kv)
          Filters that are not sure which key must be next seeked to, can inherit this implementation that, by default, returns a null Cell.
 int getOffset()
           
static ColumnPaginationFilter parseFrom(byte[] pbBytes)
           
 void reset()
          Filters that are purely stateless and do nothing in their reset() methods can inherit this null/empty implementation.
 byte[] toByteArray()
          Return length 0 byte array for Filters that don't require special serialization
 String toString()
          Return filter's info for debugging and logging purpose.
 
Methods inherited from class org.apache.hadoop.hbase.filter.FilterBase
filterAllRemaining, filterRow, filterRow, filterRowCells, filterRowKey, getNextKeyHint, hasFilterRow, isFamilyEssential, transform, transformCell
 
Methods inherited from class org.apache.hadoop.hbase.filter.Filter
isReversed, setReversed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ColumnPaginationFilter

public ColumnPaginationFilter(int limit,
                              int offset)
Initializes filter with an integer offset and limit. The offset is arrived at scanning sequentially and skipping entries. @limit number of columns are then retrieved. If multiple column families are involved, the columns may be spread across them.

Parameters:
limit - Max number of columns to return.
offset - The integer offset where to start pagination.

ColumnPaginationFilter

public ColumnPaginationFilter(int limit,
                              byte[] columnOffset)
Initializes filter with a string/bookmark based offset and limit. The offset is arrived at, by seeking to it using scanner hints. If multiple column families are involved, pagination starts at the first column family which contains @columnOffset. Columns are then retrieved sequentially upto @limit number of columns which maybe spread across multiple column families, depending on how the scan is setup.

Parameters:
limit - Max number of columns to return.
columnOffset - The string/bookmark offset on where to start pagination.
Method Detail

getLimit

public int getLimit()
Returns:
limit

getOffset

public int getOffset()
Returns:
offset

getColumnOffset

public byte[] getColumnOffset()
Returns:
columnOffset

filterKeyValue

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

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

getNextCellHint

public Cell getNextCellHint(Cell kv)
Description copied from class: FilterBase
Filters that are not sure which key must be next seeked to, can inherit this implementation that, by default, returns a null Cell.

Overrides:
getNextCellHint in class FilterBase
Returns:
KeyValue which must be next seeked. return null if the filter is not sure which key to seek to next.

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.

Overrides:
reset in class FilterBase

createFilterFromArguments

public static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)

toByteArray

public byte[] toByteArray()
Description copied from class: FilterBase
Return length 0 byte array for Filters that don't require special serialization

Overrides:
toByteArray in class FilterBase
Returns:
The filter serialized using pb

parseFrom

public static ColumnPaginationFilter parseFrom(byte[] pbBytes)
                                        throws DeserializationException
Parameters:
pbBytes - A pb serialized ColumnPaginationFilter instance
Returns:
An instance of ColumnPaginationFilter made from bytes
Throws:
DeserializationException
See Also:
toByteArray()

toString

public String toString()
Description copied from class: FilterBase
Return filter's info for debugging and logging purpose.

Overrides:
toString in class FilterBase


Copyright © 2007–2015 The Apache Software Foundation. All rights reserved.