|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.filter.Filter
org.apache.hadoop.hbase.filter.FilterList
@InterfaceAudience.Public @InterfaceStability.Stable public final class FilterList
Implementation of Filter
that represents an ordered List of Filters
which will be evaluated with a specified boolean operator FilterList.Operator.MUST_PASS_ALL
(AND
) or FilterList.Operator.MUST_PASS_ONE
(OR
).
Since you can use Filter Lists as children of Filter Lists, you can create a
hierarchy of filters to be evaluated.
FilterList.Operator.MUST_PASS_ALL
evaluates lazily: evaluation stops as soon as one filter does
not include the KeyValue.
FilterList.Operator.MUST_PASS_ONE
evaluates non-lazily: all filters are always evaluated.
Defaults to FilterList.Operator.MUST_PASS_ALL
.
Nested Class Summary | |
---|---|
static class |
FilterList.Operator
set operator |
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 | |
---|---|
FilterList(Filter... rowFilters)
Constructor that takes a var arg number of Filter s. |
|
FilterList(FilterList.Operator operator)
Constructor that takes an operator. |
|
FilterList(FilterList.Operator operator,
Filter... rowFilters)
Constructor that takes a var arg number of Filter s and an operator. |
|
FilterList(FilterList.Operator operator,
List<Filter> rowFilters)
Constructor that takes a set of Filter s and an operator. |
|
FilterList(List<Filter> rowFilters)
Constructor that takes a set of Filter s. |
Method Summary | |
---|---|
void |
addFilter(Filter filter)
Add a filter. |
boolean |
filterAllRemaining()
If this returns true, the scan will terminate. |
Filter.ReturnCode |
filterKeyValue(Cell v)
A way to filter based on the column family, column qualifier and/or the column value. |
boolean |
filterRow()
Last chance to veto row based on previous Filter.filterKeyValue(Cell) calls. |
void |
filterRow(List<org.apache.hadoop.hbase.KeyValue> kvs)
Deprecated. |
void |
filterRowCells(List<Cell> ignored)
Filters that never filter by modifying the returned List of Cells can inherit this implementation that does nothing. |
boolean |
filterRowKey(byte[] rowKey,
int offset,
int length)
Filters a row based on the row key. |
List<Filter> |
getFilters()
Get the filters. |
Cell |
getNextCellHint(Cell currentKV)
If the filter returns the match code SEEK_NEXT_USING_HINT, then it should also tell which is the next key it must seek to. |
org.apache.hadoop.hbase.KeyValue |
getNextKeyHint(org.apache.hadoop.hbase.KeyValue currentKV)
Deprecated. |
FilterList.Operator |
getOperator()
Get the operator. |
boolean |
hasFilterRow()
Primarily used to check for conflicts with scans(such as scans that do not read a full row at a time). |
boolean |
isFamilyEssential(byte[] name)
Check that given column family is essential for filter to check row. |
static FilterList |
parseFrom(byte[] pbBytes)
|
void |
reset()
Reset the state of the filter between rows. |
void |
setReversed(boolean reversed)
alter the reversed scan flag |
byte[] |
toByteArray()
TODO: JAVADOC Concrete implementers can signal a failure condition in their code by throwing an IOException . |
String |
toString()
|
protected String |
toString(int maxFilters)
|
org.apache.hadoop.hbase.KeyValue |
transform(org.apache.hadoop.hbase.KeyValue v)
Deprecated. |
Cell |
transformCell(Cell v)
Give the filter a chance to transform the passed KeyValue. |
Methods inherited from class org.apache.hadoop.hbase.filter.Filter |
---|
isReversed |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public FilterList(List<Filter> rowFilters)
Filter
s. The default operator
MUST_PASS_ALL is assumed.
rowFilters
- list of filterspublic FilterList(Filter... rowFilters)
Filter
s. The fefault operator
MUST_PASS_ALL is assumed.
rowFilters
- public FilterList(FilterList.Operator operator)
operator
- Operator to process filter set with.public FilterList(FilterList.Operator operator, List<Filter> rowFilters)
Filter
s and an operator.
operator
- Operator to process filter set with.rowFilters
- Set of row filters.public FilterList(FilterList.Operator operator, Filter... rowFilters)
Filter
s and an operator.
operator
- Operator to process filter set with.rowFilters
- Filters to useMethod Detail |
---|
public FilterList.Operator getOperator()
public List<Filter> getFilters()
public void addFilter(Filter filter)
filter
- another filterpublic void reset() throws IOException
Filter
IOException
.
reset
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean filterRowKey(byte[] rowKey, int offset, int length) throws IOException
Filter
Filter.filterKeyValue(Cell)
below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException
.
filterRowKey
in class Filter
rowKey
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row key
IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean filterAllRemaining() throws IOException
Filter
IOException
.
filterAllRemaining
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public Cell transformCell(Cell v) throws IOException
Filter
transformCell
in class Filter
v
- the KeyValue in question
IOException
- in case an I/O or an filter specific failure needs to be signaled.The 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}.
@Deprecated public org.apache.hadoop.hbase.KeyValue transform(org.apache.hadoop.hbase.KeyValue v) throws IOException
transformCell(Cell)
.
When removing this, its body should be placed in transformCell.
This is for transition from 0.94 -> 0.96
transform
in class Filter
IOException
public Filter.ReturnCode filterKeyValue(Cell v) throws IOException
Filter
ReturnCode.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 Filter
v
- the Cell in question
IOException
- in case an I/O or an filter specific failure needs to be signaled.Filter.ReturnCode
public void filterRowCells(List<Cell> ignored) throws IOException
filterRowCells
in class Filter
ignored
- the list of Cells to be filtered
IOException
- in case an I/O or an filter specific failure needs to be signaled.@Deprecated public void filterRow(List<org.apache.hadoop.hbase.KeyValue> kvs) throws IOException
transformCell(Cell)
.
This is for transition from 0.94 -> 0.96
filterRow
in class Filter
IOException
public boolean hasFilterRow()
Filter
hasFilterRow
in class Filter
public boolean filterRow() throws IOException
Filter
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
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public byte[] toByteArray() throws IOException
Filter
IOException
.
toByteArray
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public static FilterList parseFrom(byte[] pbBytes) throws org.apache.hadoop.hbase.exceptions.DeserializationException
pbBytes
- A pb serialized FilterList
instance
FilterList
made from bytes
org.apache.hadoop.hbase.exceptions.DeserializationException
toByteArray()
@Deprecated public org.apache.hadoop.hbase.KeyValue getNextKeyHint(org.apache.hadoop.hbase.KeyValue currentKV) throws IOException
getNextKeyHint
in class Filter
IOException
public Cell getNextCellHint(Cell currentKV) throws IOException
Filter
IOException
.
getNextCellHint
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public boolean isFamilyEssential(byte[] name) throws IOException
Filter
IOException
.
isFamilyEssential
in class Filter
IOException
- in case an I/O or an filter specific failure needs to be signaled.public void setReversed(boolean reversed)
Filter
setReversed
in class Filter
reversed
- flagpublic String toString()
toString
in class Object
protected String toString(int maxFilters)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |