Мы помещаем все наши точки данных для одной строки в хэш-карту. Мы не хотим использовать pojo, потому что значения каждый раз меняются. Например, мы можем получить «место» на некоторых записях, и мы можем получить «родной город» на других. На самом деле у нас есть тысячи разных имен столбцов на выбор. Наш код выглядит следующим образом:
Map<String, Object> aMap = new HashMap<>();
aMap.put("id", Integer.valueOf(1));
aMap.put("age", Integer.valueOf(45));
aMap.put("name", "mark");
aMap.put("place", "home");
final GenericRecord record = new GenericData.Record(avroSchema);
aMap.forEach((k, v) -> {
record.put(k, v);
});
writer.write(record);
Мы хотели бы поместить все значения в карту, а затем сгенерировать схему. Поскольку с помощью API Reflect это можно сделать для pojo, мне было интересно, можно ли это сделать и из hashmap?
В качестве побочного вопроса, есть ли способ устранить вышеприведенный forEach и просто написать карту?