我正在尝试存储 aTreeSet
以DistributedCache
供 Hadoop map-reduce 作业使用。到目前为止,我有以下用于将文件从 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 在启动 map-reduce 作业的主类中构建一次。TreeSet 永远不会被修改,我只是希望每个映射器都拥有对该 TreeSet 的只读访问权限,而不必一遍又一遍地重建它。