@InterfaceAudience.Public public class PageFilter extends FilterBase
Note that this filter cannot guarantee that the number of results returned to a client are <= page size. This is because the filter is applied separately on different region servers. It does however optimize the scan of individual HRegions by making sure that the page size is never exceeded locally.
Filter.ReturnCode| Modifier and Type | Field and Description |
|---|---|
private long |
pageSize |
private int |
rowsAccepted |
| Constructor and Description |
|---|
PageFilter(long pageSize)
Constructor that takes a maximum page size.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Default implementation so that writers of custom filters aren't forced to implement.
|
static Filter |
createFilterFromArguments(ArrayList<byte[]> filterArguments) |
boolean |
equals(Object obj) |
boolean |
filterAllRemaining()
Filters that never filter all remaining can inherit this implementation that
never stops the filter early.
|
Filter.ReturnCode |
filterCell(Cell ignored)
A way to filter based on the column family, column qualifier and/or the column value.
|
Filter.ReturnCode |
filterKeyValue(Cell c)
Deprecated.
|
boolean |
filterRow()
Filters that never filter by rows based on previously gathered state from
Filter.filterCell(Cell) can inherit this implementation that
never filters a row. |
boolean |
filterRowKey(Cell cell)
Filters a row based on the row key.
|
long |
getPageSize() |
boolean |
hasFilterRow()
Fitlers that never filter by modifying the returned List of Cells can
inherit this implementation that does nothing.
|
int |
hashCode() |
static PageFilter |
parseFrom(byte[] pbBytes) |
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.
|
filterRowCells, filterRowKey, getNextCellHint, isFamilyEssential, reset, transformCellisReversed, setReversedprivate long pageSize
private int rowsAccepted
public PageFilter(long pageSize)
pageSize - Maximum result size.public long getPageSize()
public boolean filterRowKey(Cell cell) throws IOException
FilterFilter.filterCell(Cell) below.
If Filter.filterAllRemaining() returns true, then Filter.filterRowKey(Cell) should
also return true.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRowKey in class FilterBasecell - The first cell coming in the new rowIOException - in case an I/O or an filter specific failure needs to be signaled.@Deprecated public Filter.ReturnCode filterKeyValue(Cell c) throws IOException
FilterReturnCode.NEXT_ROW, it should return
ReturnCode.NEXT_ROW until Filter.reset() is called just in case the caller calls
for the next row.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterKeyValue in class Filterc - the Cell in questionIOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCodepublic Filter.ReturnCode filterCell(Cell ignored) throws IOException
FilterReturnCode.NEXT_ROW, it should return
ReturnCode.NEXT_ROW until Filter.reset() is called just in case the caller calls
for the next row.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterCell in class Filterignored - the Cell in questionIOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCodepublic boolean filterAllRemaining()
FilterBaseIOException.filterAllRemaining in class FilterBasepublic boolean filterRow()
FilterBaseFilter.filterCell(Cell) can inherit this implementation that
never filters a row.
Last chance to veto row based on previous Filter.filterCell(Cell) calls. The filter
needs to retain state then return a particular value for this call if they wish to exclude a
row if a certain column is missing (for example).
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRow in class FilterBasepublic boolean hasFilterRow()
FilterBasehasFilterRow in class FilterBasepublic static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBasetoByteArray in class FilterBasepublic static PageFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes - A pb serialized PageFilter instancePageFilter made from bytesDeserializationExceptiontoByteArray()boolean areSerializedFieldsEqual(Filter o)
FilterBaseareSerializedFieldsEqual in class FilterBaseo - other Filter to compare withpublic String toString()
FilterBasetoString in class FilterBaseCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.