in src/main/java/com/google/cloud/solutions/autotokenize/common/CsvRowFlatRecordConvertors.java [66:84]
public FlatRecord apply(CsvRow input) {
var flatRecordBuilder = FlatRecord.newBuilder();
input.headers().entrySet().stream()
.sorted(Comparator.comparingInt(Map.Entry::getKey))
.forEach(
indexAndName -> {
var flatKey = "$." + indexAndName.getValue();
var schemaKey =
String.format("$.%s.%s", AVRO_ROOT_RECORD_NAME, indexAndName.getValue());
var value =
Value.newBuilder().setStringValue(input.get(indexAndName.getKey())).build();
flatRecordBuilder.putFlatKeySchema(flatKey, schemaKey);
flatRecordBuilder.putValues(flatKey, value);
});
return flatRecordBuilder.build();
}