getLocalCacheArchives方法有什么作用?

时间:2016-02-29 00:13:14

标签: hadoop mapreduce blast distributed-cache bigdata

我不确定这种方法的作用。它是DistributedCache类的一部分。

我实际上是在Hadoop Blast的代码中使用它。我有一个文件RunnerMap.java,它有一个方法设置(Context context),它获取localDB和localBlastProgram的路径,如下所示:

Configuration conf = context.getConfiguration();
Path[] local = DistributedCache.getLocalCacheArchives(conf);
localDB = local[0].toUri().getPath() + File.separator + conf.get(DataAnalysis.DB_ARCHIVE) + File.separator + conf.get(DataAnalysis.DB_NAME);
localBlastProgram = local[0].toUri().getPath();

我对Java比较陌生,所以我对这四行没有多大意义。

我也无法在MapReduce文档上找到getLocalCacheArchives的描述。

1 个答案:

答案 0 :(得分:1)

使用DistributedCache,以便群集的节点可以共享某些文件/存档。档案通常是zip,tar和tgz / tar.gz文件。

因此,在main方法中,您应该设置希望节点共享的那些文件或存档(只读访问),然后在安装方法中,您可以获取这些文件,就像在发布时一样使用getLocalCacheArchives()方法的行。

也许,您会在this old documentation上找到一些有用的信息和示例,因为现在不推荐使用DistributedCache。