|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.filter.SingleColumnValueFilter
public class SingleColumnValueFilter
This filter is used to filter cells based on value. It takes a
CompareFilter.CompareOp
operator (equal, greater, not equal, etc), and either a byte [] value or
a WritableByteArrayComparable
.
If we have a byte [] value then we just do a lexicographic compare. For example, if passed value is 'b' and cell has 'a' and the compare operator is LESS, then we will filter out this cell (return true). If this is not sufficient (eg you want to deserialize a long and then compare it to a fixed long value), then you can pass in your own comparator instead.
You must also specify a family and qualifier. Only the value of this column will be tested.
To prevent the entire row from being emitted if the column is not found
on a row, use setFilterIfMissing(boolean)
.
Otherwise, if the column is found, the entire row will be emitted only if the value passes. If the value fails, the row will be filtered out.
To filter based on the value of all scanned columns, use ValueFilter
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.filter.Filter |
---|
Filter.ReturnCode |
Constructor Summary | |
---|---|
SingleColumnValueFilter()
Writable constructor, do not use. |
|
SingleColumnValueFilter(byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
byte[] value)
Constructor for binary compare of the value of a single column. |
|
SingleColumnValueFilter(byte[] family,
byte[] qualifier,
CompareFilter.CompareOp compareOp,
WritableByteArrayComparable comparator)
Constructor for binary compare of the value of a single column. |
Method Summary | |
---|---|
boolean |
filterAllRemaining()
If this returns true, the scan will terminate. |
Filter.ReturnCode |
filterKeyValue(KeyValue keyValue)
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[] rowKey,
int offset,
int length)
Filters a row based on the row key. |
boolean |
getFilterIfMissing()
Get whether entire row should be filtered if column is not found. |
void |
readFields(DataInput in)
|
void |
reset()
Reset the state of the filter between rows. |
void |
setFilterIfMissing(boolean filterIfMissing)
Set whether entire row should be filtered if column is not found. |
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 SingleColumnValueFilter()
public SingleColumnValueFilter(byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value)
family
- name of column familyqualifier
- name of column qualifiercompareOp
- operatorvalue
- value to compare column values againstpublic SingleColumnValueFilter(byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, WritableByteArrayComparable comparator)
Use the filterIfColumnMissing flag to set whether the rest of the columns in a row will be emitted if the specified column to check is not found in the row.
family
- name of column familyqualifier
- name of column qualifiercompareOp
- operatorcomparator
- Comparator to use.Method Detail |
---|
public boolean filterRowKey(byte[] rowKey, int offset, int length)
Filter
Filter.filterKeyValue(KeyValue)
below.
filterRowKey
in interface Filter
rowKey
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row key
public Filter.ReturnCode filterKeyValue(KeyValue keyValue)
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
keyValue
- the KeyValue in question
Filter.ReturnCode
public boolean filterAllRemaining()
Filter
filterAllRemaining
in interface Filter
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 reset()
Filter
reset
in interface Filter
public boolean getFilterIfMissing()
public void setFilterIfMissing(boolean filterIfMissing)
If true, the entire row will be skipped if the column is not found.
If false, the row will pass if the column is not found. This is default.
public void readFields(DataInput in) throws IOException
readFields
in interface org.apache.hadoop.io.Writable
IOException
public void write(DataOutput out) throws IOException
write
in interface org.apache.hadoop.io.Writable
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |