有沒有關於是否使用分佈式緩存分發文件的指導原則?對於DistributedCache文件hadoop來說有多大?
我有一個文件大小86746785(我使用hadoop dfs -dus
- 不知道這是否在bytes
或什麼)。分發這個文件是個好主意嗎?
有沒有關於是否使用分佈式緩存分發文件的指導原則?對於DistributedCache文件hadoop來說有多大?
我有一個文件大小86746785(我使用hadoop dfs -dus
- 不知道這是否在bytes
或什麼)。分發這個文件是個好主意嗎?
唯一可行的答案是「它取決於」。
你必須考慮使用分佈式緩存的文件被複制到每節點,這是涉及到你的任務,這顯然需要帶寬。另外,通常如果你想在分佈式緩存中使用這個文件,你會把文件保存在內存中,所以你必須考慮這個問題。
至於你的情況 - 是的,那些是字節。大小約爲86 MB,這對分佈式緩存來說非常合適。幾百MB內的任何內容應該仍然可以。
我想補充一點,它只是被複制到將用於實際執行任務的節點工作 - 即你的工作是一個單一的地圖任務,它只會被複制到執行該任務的節點,而不是你注意到的每個**節點。 – 2013-04-05 11:49:51
@ChrisWhite你說得對,我以某種方式沒有想到要做出這樣的區分。編輯並添加到答案中。 – TC1 2013-04-05 12:00:06
分佈式緩存的大小默認爲10GB。但最好在分佈式緩存中保留幾MB的數據。否則它會影響應用程序的性能。
除了TC1的回答,也可以考慮:
Hadoop的DFS -dus是以字節爲單位 – 2013-04-05 10:36:19