com.datastax.spark.connector.rdd.partitioner
Groups small token ranges on the same server(s) in order to reduce task scheduling overhead.
Groups small token ranges on the same server(s) in order to reduce task scheduling overhead. Useful mostly with virtual nodes, which may create lots of small token range splits. Each group will make a single Spark task.
Groups a set of token ranges into
groupCount
groups containing not more thanmaxGroupSize
token ranges. Each group will form a singleCassandraRDDPartition
.The algorithm is as follows: 1. Sort token ranges by endpoints lexicographically. 2. Take the highest possible number of token ranges from the beginning of the list, such that their sum of ringFraction does not exceed
ringFractionPerGroup
and they all contain at least one common endpoint. If it is not possible, take at least one item. Those token ranges will make a group. 3. Repeat the previous step until no more token ranges left.