2014-02-21 192 views
0

我們如何更新hadoop分佈式緩存中的文件。 選項:hadoop分佈式緩存

  1. 更新分佈式緩存中的文件並重新啓動mapreduce作業。
  2. 用新文件替換文件,並將指針位置更改爲指向新位置並重新啓動地圖縮減作業。
  3. 在分佈式緩存中附加新值並重新啓動地圖縮小作業。
  4. 其他選項.....

我用Google搜索,但無法找到我的問題,以便張貼在這裏的答案。 希望我能得到答案。

+0

你是什麼意思更新?你需要什麼?在作業正在運行時更改文件?要更改文件然後運行作業?當沒有作業正在運行時,沒有緩存......它在HDFS中,並在作業開始時將其添加到緩存中。 – vefthym

回答

0

當mapreduce作業正在運行時,您無法更新DistributedCache,否則它將成爲關鍵競爭對手。

您必須重新啓動作業,並提交另一個DistributedCache數據 - 作業之間不存在DistributedCache持久性。

+0

這意味着一旦文件是分佈式緩存的一部分,我們無法更新它? – user3315815

+0

對於實例 - 我有一個屬性文件放置在分佈式緩存中,現在我想用分佈式緩存中的更新屬性文件替換屬性文件。我怎樣才能做到這一點 ?只需用已更新的屬性文件替換舊的屬性文件,或者將新的屬性文件放置在新的位置並將該位置指向分佈式緩存。還是有其他選擇? – user3315815

+0

您使用-files選項或addCacheFile傳遞的文件被複制到分佈式緩存。你可以隨時覆蓋原文。當您重新運行作業時,這些更改將適用。 –