Hadoop の map-reduce ジョブで使用するためTreeSet
にを に保存しようとしています。DistributedCache
これまでのところ、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
DistributedCache に追加するこのファイルに (このクラスで既に作成した) TreeSet を効率的に追加するにはどうすればよいですか? Javaのネイティブシリアライゼーションを使用して、これを何らかの方法でファイルにシリアライズする必要がありますか?
TreeSet は、map-reduce ジョブを開始するメイン クラスで一度構築されることに注意してください。TreeSet が変更されることはありません。すべてのマッパーがこの TreeSet に読み取り専用でアクセスできるようにし、何度も再構築する必要がないようにしたいだけです。