HashPartitioner¶
HashPartitioner
is a Partitioner for hash-based partitioning.
Important
HashPartitioner
places null keys in 0th partition.
HashPartitioner
is used as the default Partitioner.
Creating Instance¶
HashPartitioner
takes the following to be created:
- Number of partitions
Number of Partitions¶
numPartitions: Int
numPartitions
returns the given number of partitions.
numPartitions
is part of the Partitioner abstraction.
Partition for Key¶
getPartition(
key: Any): Int
For null
keys getPartition
simply returns 0
.
For non-null
keys, getPartition
uses the Object.hashCode of the key modulo the number of partitions. For negative results, getPartition
adds the number of partitions to make it non-negative.
getPartition
is part of the Partitioner abstraction.