2014-02-24 40 views
0

我們如何更新分佈式緩存中的文件/文件?在hadoop的分佈式緩存中更新文件

例如我在分佈式緩存中有一個屬性文件現在我在屬性文件中添加了更多的值。

選項:

  1. 追加在舊文件中的新值,然後重新啓動工作。
  2. 用新文件替換舊文件並重新啓動作業。
  3. 將新文件放在新位置並指向該位置。

以上所有選項都正確,爲什麼?

+0

你能更具體嗎?什麼樣的屬性?你想做什麼?你想要更新文件,而工作正在運行新的價值(我認爲你不能這樣做)?您是否想用分佈式緩存中的文件開始一項新工作,該文件已從之前的工作更改過? – vefthym

回答

0

這需要了解分佈式緩存的工作原理: 將文件添加到分佈式緩存時,在運行作業時,文件將被複制到每個任務節點,並且該文件在本地可用。由於它創建了多個副本:它不能被修改。

選項2 & 3聲音可行但不確定這是否正確。

如果該文件只包含一堆屬性,則可以在配置對象中將這些屬性設置爲分佈式緩存中的文件。您可以使用收集器將輸出寫入所需位置。 (我不清楚你的用例,所以這可能不合適)。