@InterfaceAudience.Public @InterfaceStability.Stable public class RandomRowFilter extends FilterBase
Filter.ReturnCode
Modifier and Type | Field and Description |
---|---|
protected float |
chance |
protected boolean |
filterOutRow |
protected static Random |
random |
Constructor and Description |
---|
RandomRowFilter(float chance)
Create a new filter with a specified chance for a row to be included.
|
Modifier and Type | Method and Description |
---|---|
boolean |
filterAllRemaining()
Filters that never filter all remaining can inherit this implementation that
never stops the filter early.
|
Filter.ReturnCode |
filterKeyValue(Cell v)
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. |
boolean |
filterRowKey(byte[] buffer,
int offset,
int length)
Filters that do not filter by row key can inherit this implementation that
never filters anything.
|
float |
getChance() |
boolean |
hasFilterRow()
Fitlers that never filter by modifying the returned List of Cells can
inherit this implementation that does nothing.
|
static RandomRowFilter |
parseFrom(byte[] pbBytes) |
void |
reset()
Filters that are purely stateless and do nothing in their reset() methods can inherit
this null/empty implementation.
|
void |
setChance(float chance)
Set the chance that a row is included.
|
byte[] |
toByteArray()
Return length 0 byte array for Filters that don't require special serialization
|
Cell |
transformCell(Cell v)
By default no transformation takes place
|
createFilterFromArguments, filterRowCells, getNextCellHint, getNextKeyHint, isFamilyEssential, toString, transform
isReversed, setReversed
protected static final Random random
protected float chance
protected boolean filterOutRow
public RandomRowFilter(float chance)
chance
- public float getChance()
public void setChance(float chance)
chance
- public boolean filterAllRemaining()
FilterBase
filterAllRemaining
in class FilterBase
public Filter.ReturnCode filterKeyValue(Cell 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.
Concrete implementers can signal a failure condition in their code by throwing an
IOException
.filterKeyValue
in class Filter
v
- the Cell in questionFilter.ReturnCode
public Cell transformCell(Cell v)
FilterBase
transformCell
in class FilterBase
v
- 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 filterRow()
FilterBase
Filter.filterKeyValue(Cell)
can inherit this implementation that
never filters a row.filterRow
in class FilterBase
public boolean hasFilterRow()
FilterBase
hasFilterRow
in class FilterBase
public boolean filterRowKey(byte[] buffer, int offset, int length)
FilterBase
filterRowKey
in class FilterBase
buffer
- buffer containing row keyoffset
- offset into buffer where row key startslength
- length of the row keypublic void reset()
FilterBase
reset
in class FilterBase
public byte[] toByteArray()
FilterBase
toByteArray
in class FilterBase
public static RandomRowFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes
- A pb serialized RandomRowFilter
instanceRandomRowFilter
made from bytes
DeserializationException
toByteArray()