public class RandomPartitioner extends java.lang.Object implements IPartitioner
Modifier and Type | Class and Description |
---|---|
static class |
RandomPartitioner.BigIntegerToken |
Modifier and Type | Field and Description |
---|---|
static RandomPartitioner |
instance |
static java.math.BigInteger |
MAXIMUM |
static int |
MAXIMUM_TOKEN_SIZE |
static RandomPartitioner.BigIntegerToken |
MINIMUM |
static AbstractType<?> |
partitionOrdering |
static java.math.BigInteger |
ZERO |
Constructor and Description |
---|
RandomPartitioner() |
Modifier and Type | Method and Description |
---|---|
DecoratedKey |
decorateKey(java.nio.ByteBuffer key)
Transform key to object representation of the on-disk format.
|
java.util.Map<Token,java.lang.Float> |
describeOwnership(java.util.List<Token> sortedTokens)
Calculate the deltas between tokens in the ring in order to compare
relative sizes.
|
Token |
getMaximumToken()
The biggest token for this partitioner, unlike getMinimumToken, this token is actually used and users wanting to
include all tokens need to do getMaximumToken().maxKeyBound()
Not implemented for the ordered partitioners
|
int |
getMaxTokenSize() |
RandomPartitioner.BigIntegerToken |
getMinimumToken() |
RandomPartitioner.BigIntegerToken |
getRandomToken() |
RandomPartitioner.BigIntegerToken |
getRandomToken(java.util.Random random) |
RandomPartitioner.BigIntegerToken |
getToken(java.nio.ByteBuffer key) |
Token.TokenFactory |
getTokenFactory() |
AbstractType<?> |
getTokenValidator() |
Token |
midpoint(Token ltoken,
Token rtoken)
Calculate a Token representing the approximate "middle" of the given
range.
|
AbstractType<?> |
partitionOrdering()
Abstract type that orders the same way as DecoratedKeys provided by this partitioner.
|
boolean |
preservesOrder() |
Token |
split(Token ltoken,
Token rtoken,
double ratioToLeft)
Calculate a Token which take
approximate 0 <= ratioToLeft <= 1 ownership of the given range. |
java.util.Optional<Splitter> |
splitter() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
global, validate, validate
public static final java.math.BigInteger ZERO
public static final RandomPartitioner.BigIntegerToken MINIMUM
public static final java.math.BigInteger MAXIMUM
public static final int MAXIMUM_TOKEN_SIZE
public static final RandomPartitioner instance
public static final AbstractType<?> partitionOrdering
public DecoratedKey decorateKey(java.nio.ByteBuffer key)
IPartitioner
decorateKey
in interface IPartitioner
key
- the raw, client-facing keypublic Token midpoint(Token ltoken, Token rtoken)
IPartitioner
midpoint
in interface IPartitioner
public Token split(Token ltoken, Token rtoken, double ratioToLeft)
IPartitioner
approximate 0 <= ratioToLeft <= 1
ownership of the given range.split
in interface IPartitioner
public RandomPartitioner.BigIntegerToken getMinimumToken()
getMinimumToken
in interface IPartitioner
public RandomPartitioner.BigIntegerToken getRandomToken()
getRandomToken
in interface IPartitioner
public RandomPartitioner.BigIntegerToken getRandomToken(java.util.Random random)
getRandomToken
in interface IPartitioner
random
- instance of Random to use when generating the tokenpublic Token.TokenFactory getTokenFactory()
getTokenFactory
in interface IPartitioner
public boolean preservesOrder()
preservesOrder
in interface IPartitioner
public RandomPartitioner.BigIntegerToken getToken(java.nio.ByteBuffer key)
getToken
in interface IPartitioner
public int getMaxTokenSize()
getMaxTokenSize
in interface IPartitioner
public java.util.Map<Token,java.lang.Float> describeOwnership(java.util.List<Token> sortedTokens)
IPartitioner
describeOwnership
in interface IPartitioner
sortedTokens
- a sorted List of Tokenspublic Token getMaximumToken()
IPartitioner
getMaximumToken
in interface IPartitioner
public AbstractType<?> getTokenValidator()
getTokenValidator
in interface IPartitioner
public AbstractType<?> partitionOrdering()
IPartitioner
partitionOrdering
in interface IPartitioner
public java.util.Optional<Splitter> splitter()
splitter
in interface IPartitioner
Copyright © 2009-2021 The Apache Software Foundation