天天看點

MapReduce中的分布式緩存(DistributedCache)

1、簡介

DistributedCache是Hadoop為MapReduce架構提供的一種分布式緩存機制,它會将需要緩存的檔案分發到各個執行任務的子節點機器中,各個節點可以自行讀取本地檔案系統上的資料進行處理。

2、符号連結

可以在原本HDFS檔案路徑上+“ #somename”來設定符号連接配接(相當于一個快捷方式)。

這樣在MapReduce程式中可以直接通過:

File file = new File("somename");

來獲得這個檔案。

3、注意事項

(1)需要分發的檔案必須是存儲在HDFS上了。預設的路徑是hdfs://的,不是file://。

(2)檔案隻讀。

(3)不緩存太大的檔案,執行task之前會對檔案進行分發,影響task的啟動速度。

繼續閱讀