@InterfaceAudience.Public 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 |
---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Returns true if and only if the fields of the filter that are serialized are equal to the
corresponding fields in other.
|
boolean |
equals(Object obj) |
boolean |
filterAllRemaining()
Filters that never filter all remaining can inherit this implementation that never stops the
filter early.
|
Filter.ReturnCode |
filterCell(Cell c)
A way to filter based on the column family, column qualifier and/or the column value.
|
Filter.ReturnCode |
filterKeyValue(Cell c)
Deprecated.
|
boolean |
filterRow()
Filters that never filter by rows based on previously gathered state from
Filter.filterCell(Cell) can inherit this implementation that never filters a row. |
boolean |
filterRowKey(Cell firstRowCell)
Filters a row based on the row key.
|
float |
getChance()
Returns The chance that a row gets included.
|
boolean |
hasFilterRow()
Fitlers that never filter by modifying the returned List of Cells can inherit this
implementation that does nothing.
|
int |
hashCode() |
static RandomRowFilter |
parseFrom(byte[] pbBytes)
Parse a serialized representation of
RandomRowFilter |
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()
Returns The filter serialized using pb
|
createFilterFromArguments, filterRowCells, filterRowKey, getNextCellHint, isFamilyEssential, toString, transformCell
isReversed, setReversed
protected float chance
protected boolean filterOutRow
public RandomRowFilter(float chance)
public float getChance()
public void setChance(float chance)
public boolean filterAllRemaining()
FilterBase
IOException
.filterAllRemaining
in class FilterBase
@Deprecated public Filter.ReturnCode filterKeyValue(Cell c)
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
c
- the Cell in questionFilter.ReturnCode
public Filter.ReturnCode filterCell(Cell c)
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
.filterCell
in class Filter
c
- the Cell in questionFilter.ReturnCode
public boolean filterRow()
FilterBase
Filter.filterCell(Cell)
can inherit this implementation that never filters a row.
Last chance to veto row based on previous Filter.filterCell(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 FilterBase
public boolean hasFilterRow()
FilterBase
hasFilterRow
in class FilterBase
public boolean filterRowKey(Cell firstRowCell)
Filter
Filter.filterCell(Cell)
below. If
Filter.filterAllRemaining()
returns true, then Filter.filterRowKey(Cell)
should also return
true. Concrete implementers can signal a failure condition in their code by throwing an
IOException
.filterRowKey
in class FilterBase
firstRowCell
- The first cell coming in the new rowpublic void reset()
FilterBase
IOException
.reset
in class FilterBase
public byte[] toByteArray()
toByteArray
in class FilterBase
public static RandomRowFilter parseFrom(byte[] pbBytes) throws DeserializationException
RandomRowFilter
pbBytes
- A pb serialized RandomRowFilter
instanceRandomRowFilter
made from bytes
DeserializationException
- if an error occurredtoByteArray()
boolean areSerializedFieldsEqual(Filter o)
areSerializedFieldsEqual
in class FilterBase
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.