1
無論如何,地圖縮小框架中的節點之間存在大量的文件傳輸。 那麼如何使用分佈式緩存提高性能。爲什麼我們在hadoop中使用分佈式緩存?
無論如何,地圖縮小框架中的節點之間存在大量的文件傳輸。 那麼如何使用分佈式緩存提高性能。爲什麼我們在hadoop中使用分佈式緩存?
DistributedCache是由Map-Reduce框架提供的用於緩存應用程序所需文件的工具。一旦爲作業緩存了一個文件,hadoop框架就會在映射/減少任務運行的每個數據節點上(文件系統中,而不是內存中)使用它。這些文件通常通過HDFS通過網絡傳輸。對於任何非數據本地任務,它都不會比使用HDFS造成更大的網絡壓力。
謝謝,所以你說,通過網絡傳輸數據已經是一個開銷。但是訪問遠程或非本地數據對性能有更多影響? –
說明:http://stackoverflow.com/questions/13061187/distributed-cache-and-performance-hadoop –
請注意,數據從本地磁盤傳輸到hdfs之前。由於程序未啓動,因此不計入性能。之後,您的地圖縮減程序開始運行,並且它會運行(或嘗試)數據的位置,但不會使數據進行編程。但是map任務的輸出確實被傳遞給了reducer,combiner可以用來減少這個數量。 – K246