in flink-connector-cassandra/src/main/java/org/apache/flink/connector/cassandra/source/split/SplitsGenerator.java [90:117]
private long decideOnNumSplits() {
long numSplits;
final long estimateTableSize = estimateTableSize();
if (estimateTableSize == 0) { // size estimates unavailable
LOG.info(
"Cassandra size estimates are not available for {}.{} table. Creating as many splits as parallelism ({})",
keyspace,
table,
parallelism);
numSplits = parallelism;
} else { // create estimateTableSize / maxSplitMemorySize splits. Otherwise, create
// parallelism splits if that makes too few splits.
LOG.debug(
"Estimated size for {}.{} table is {} bytes",
keyspace,
table,
estimateTableSize);
numSplits =
estimateTableSize / maxSplitMemorySize == 0
? parallelism
: estimateTableSize / maxSplitMemorySize;
LOG.info(
"maxSplitMemorySize set value ({}) leads to the creation of {} splits",
maxSplitMemorySize,
numSplits);
}
return numSplits;
}