我有我想要使用分佈式緩存設施添加的文件的列表。不同的減少任務需要不同的文件。例如,reduce 1需要文件A,reduce 2需要文件B,以此類推。 在Job Conf中,這兩個文件都是使用DistributedCache.addCacheFile()方法添加的。 在reduce類配置方法中,我使用DistributedCache.getCacheFiles()來獲取文件。 是否有可能只有文件A在內存中減少1並且只有內存中的文件B爲減少2.或者在減少任務開始之前將這兩個文件添加到內存中。分佈式緩存Hadoop和可伸縮性
如果我明白這一點,我可以使用分佈式緩存爲我的程序。我關心的是可擴展性。這些文件很大。所以reduce任務不能在內存中擁有這兩個文件。但可以保存其中一個文件。
請幫忙!!!
感謝
分佈式緩存不在內存中,它只是一個令人困惑的名稱,它將文件和jar一起復制到每個運行計算的主機。 –
謝謝你指出。那麼,我們可以添加一個與節點的磁盤空間一樣大的文件嗎? –
Reducer處理文件時,是否需要將整個文件保存在內存中? –