Мне нужно выполнить сверку данных в oop на основе ключевых сравнений. Это означает, что у меня будут старые данные в одной папке, а новые данные будут помещены в разные папки. В конце пакета я планировал просто переместить новые данные, чтобы они соответствовали старым. Данные будут json файлы, из которых я должен извлечь ключи.
Я делаю первые шаги с Had oop, поэтому я просто хочу сделать это только с помощью программы MapReduce, то есть без инструментов, таких как Spark, Pig, Hive et c. Я думал о том, чтобы просто просмотреть все старые данные в начале программы, перед созданием объекта Job, и поместить все идентификаторы в Java HashMap, который будет доступен из задачи mapper. Если в более новых данных отсутствует ключ, маппер выведет его. Редуктор будет касаться категорий пропущенных идентификаторов, но это уже другая история. После завершения работы я переместил бы новые данные в папку старых данных.
Единственное, что я нахожу немного неуклюжим, - это фаза загрузки в Java объект HashMap. Это, вероятно, не самое элегантное решение, поэтому мне было интересно, есть ли в модели MapReduce какие-то выделенные структуры данных / функциональные возможности для такого рода целей ( заполнение глобальной карты ha sh всеми данными из HDFS перед первой задачей карты) работает )?