in src/main/java/com/google/cloud/solutions/autotokenize/dlp/BatchColumnsForDlp.java [68:94]
public void makeTables(
@Element KV<ShardedKey<String>, Iterable<Value>> input,
OutputReceiver<KV<ShardedKey<String>, Table>> outputReceiver) {
if (input == null || input.getKey() == null || input.getValue() == null) {
return;
}
var columnName = input.getKey();
var accumulatedTable = new ColumnTable(columnName);
for (var value : input.getValue()) {
if (accumulatedTable.add(value)) {
continue;
}
emitTable(input.getKey(), accumulatedTable.getTable(), outputReceiver);
accumulatedTable = new ColumnTable(columnName);
accumulatedTable.add(value);
}
if (accumulatedTable.getTable().getRowsCount() > 0) {
emitTable(input.getKey(), accumulatedTable.getTable(), outputReceiver);
}
}