in modules/core/src/main/java/org/apache/fluo/recipes/core/data/RowHasher.java [60:84]
public TableOptimizations getTableOptimizations(String key, SimpleConfiguration appConfig) {
int numTablets = appConfig.getInt(PREFIX + key + ".numTablets");
String prefix = key + ":";
List<Bytes> splits = new ArrayList<>(numTablets - 1);
int numSplits = numTablets - 1;
int distance = (((int) Math.pow(Character.MAX_RADIX, HASH_LEN) - 1) / numTablets) + 1;
int split = distance;
for (int i = 0; i < numSplits; i++) {
splits.add(Bytes.of(prefix
+ Strings.padStart(Integer.toString(split, Character.MAX_RADIX), HASH_LEN, '0')));
split += distance;
}
splits.add(Bytes.of(prefix + "~"));
TableOptimizations tableOptim = new TableOptimizations();
tableOptim.setSplits(splits);
tableOptim.setTabletGroupingRegex(Pattern.quote(prefix.toString()));
return tableOptim;
}