2016-02-29 66 views
1

我不確定這個方法做什麼。它是類DistributedCache的一部分。getLocalCacheArchives方法的作用是什麼?

我實際上是在Hadoop Blast的代碼中使用它。我有一個文件RunnerMap.java,其中有一個方法設置(上下文的背景下),如下所示,其將獲取的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

使用DistributedCache,以便羣集的節點可以共享某些文件/檔案。檔案通常是zip,tar和tgz/tar.gz文件。

因此,在主要方法中,您應該設置您希望節點共享的文件或存檔(只讀訪問),然後在安裝方法中,您可以獲取這些文件,就像在張貼行,使用getLocalCacheArchives()方法。

也許,你會發現一些有用的信息和this old documentation的例子,因爲現在已經棄用了DistributedCache。