@InterfaceAudience.Public @InterfaceStability.Stable 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| 构造器和说明 |
|---|
PageFilter(long pageSize)
Constructor that takes a maximum page size.
|
| 限定符和类型 | 方法和说明 |
|---|---|
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 |
filterKeyValue(Cell ignored)
A way to filter based on the column family, column qualifier and/or the column value.
|
boolean |
filterRow()
Filters that never filter by rows based on previously gathered state from
Filter.filterKeyValue(Cell) can inherit this implementation that
never filters a row. |
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.
|
Cell |
transformCell(Cell v)
By default no transformation takes place
Give the filter a chance to transform the passed KeyValue.
|
filterRowCells, filterRowKey, getNextCellHint, getNextKeyHint, isFamilyEssential, reset, transformisReversed, setReversedpublic PageFilter(long pageSize)
pageSize - Maximum result size.public long getPageSize()
public Filter.ReturnCode filterKeyValue(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.filterKeyValue 在类中 Filterignored - the Cell in questionIOException - in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCodepublic Cell transformCell(Cell v)
FilterBasetransformCell 在类中 FilterBasev - the KeyValue in questionThe transformed KeyValue is what is eventually returned to the client. Most filters will
return the passed KeyValue unchanged.,
for an example of a
transformation.
Concrete implementers can signal a failure condition in their code by throwing an
{@link IOException}.public boolean filterAllRemaining()
FilterBaseIOException.filterAllRemaining 在类中 FilterBasepublic boolean filterRow()
FilterBaseFilter.filterKeyValue(Cell) can inherit this implementation that
never filters a row.
Last chance to veto row based on previous Filter.filterKeyValue(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 在类中 FilterBasepublic boolean hasFilterRow()
FilterBasehasFilterRow 在类中 FilterBasepublic static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBasetoByteArray 在类中 FilterBasepublic static PageFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes - A pb serialized PageFilter instancePageFilter made from bytesDeserializationExceptiontoByteArray()public String toString()
FilterBasetoString 在类中 FilterBaseCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.