getlocalcachearchives方法做什么?

55ooxyrt  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我不知道这个方法做什么。它是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的描述。

f0ofjuux

f0ofjuux1#

使用distributedcache,以便集群的节点可以共享一些文件/归档文件。归档文件通常是zip、tar和tgz/tar.gz文件。
因此,在main方法中,您应该设置那些您希望节点共享的文件或归档(只读访问),然后在setup方法中,您可以使用getlocalcachearchives()方法获取这些文件,就像在发布的行中一样。
也许,您会在这个旧文档中找到一些有用的信息和示例,因为distributedcache现在已不受欢迎。

相关问题