in src/main/java/com/google/cloud/solutions/autotokenize/dlp/BatchAndDlpDeIdRecords.java [185:204]
public void makeTables(
@Element KV<ShardedKey<String>, Iterable<FlatRecord>> batchedData,
OutputReceiver<KV<ShardedKey<String>, PartialColumnDlpTable>> outputReceiver) {
var accFactory = PartialBatchAccumulator.factory(encryptConfig);
var accumulator = accFactory.newAccumulator();
for (FlatRecord record : batchedData.getValue()) {
if (!accumulator.addElement(record)) {
emitBatch(batchedData.getKey(), accumulator, outputReceiver);
accumulator = accFactory.newAccumulator();
accumulator.addElement(record);
}
}
if (accumulator != null) {
emitBatch(batchedData.getKey(), accumulator, outputReceiver);
}
}