|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.filter.SkipFilter
public class SkipFilter
A wrapper filter that filters an entire row if any of the KeyValue checks do not pass.
For example, if all columns in a row represent weights of different things,
with the values being the actual weights, and we want to filter out the
entire row if any of its weights are zero. In this case, we want to prevent
rows from being emitted if a single key is filtered. Combine this filter
with a ValueFilter
:
scan.setFilter(new SkipFilter(new ValueFilter(CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes(0)))); Any row which contained a column whose value was 0 will be filtered out. Without this filter, the other non-zero valued columns in the row would still be emitted.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.filter.Filter |
---|
Filter.ReturnCode |
Constructor Summary | |
---|---|
SkipFilter()
|
|
SkipFilter(Filter filter)
|
Method Summary | |
---|---|
boolean |
filterAllRemaining()
If this returns true, the scan will terminate. |
Filter.ReturnCode |
filterKeyValue(KeyValue 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(KeyValue)
calls. |
boolean |
filterRowKey(byte[] buffer,
int offset,
int length)
Filters a row based on the row key. |
Filter |
getFilter()
|
void |
readFields(DataInput in)
|
void |
reset()
Reset the state of the filter between rows. |
void |
write(DataOutput out)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SkipFilter()
public SkipFilter(Filter filter)
Method Detail |
---|
public Filter getFilter()
public void reset()
Filter
reset
in interface Filter
public boolean filterRowKey(byte[] buffer, int offset, int length)
Filter
Filter.filterKeyValue(KeyValue)
below.
filterRowKey
in interface Filter
buffer
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row key
public boolean filterAllRemaining()
Filter
filterAllRemaining
in interface Filter
public Filter.ReturnCode filterKeyValue(KeyValue v)
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.
filterKeyValue
in interface Filter
v
- the KeyValue in question
Filter.ReturnCode
public boolean filterRow()
Filter
Filter.filterKeyValue(KeyValue)
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).
filterRow
in interface Filter
public void write(DataOutput out) throws IOException
write
in interface org.apache.hadoop.io.Writable
IOException
public void readFields(DataInput in) throws IOException
readFields
in interface org.apache.hadoop.io.Writable
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |