Я пытаюсь сохранить TreeSet
в DistributedCache
для использования заданием уменьшения карты Hadoop. Пока у меня есть следующее для добавления файла из HDFS в DistributedCache
:
Configuration conf = new Configuration();
DistributedCache.addCacheFile(new URI("/my/cache/path"), conf);
Job job = new Job(conf, "my job");
// Proceed with remainder of Hadoop map-reduce job set-up and running
Как мне эффективно добавить TreeSet (который я уже построил в этом классе) в этот файл, который я добавляю в DistributedCache? Должен ли я использовать собственную сериализацию Java, чтобы как-то сериализовать это в файл?
Обратите внимание, что TreeSet создается один раз в основном классе, который запускает задания по уменьшению карты. TreeSet никогда не будет изменен, и я просто хочу, чтобы каждый картограф имел доступ только для чтения к этому TreeSet без необходимости перестраивать его снова и снова.