天天看點

颠覆大資料分析之Spark VS分布式共享記憶體系統

颠覆大資料分析之Spark VS分布式共享記憶體系統

在spark中,開發人員調用map,filter或reduce操作時可以傳入函數或者閉包。一般來說,當spark在工作節點上運作這些函數的時候,函數使用域内的本地變量會被拷貝出來。spark有一個共享變量的概念,它使用廣播變量和累加器來模拟“全局”變量。開發人員使用廣播變量一次性地将隻讀資料拷貝給所有的工作者。(類共轭梯度下降的算法中的靜态矩陣可以使用廣播變量來表示)累加器是隻能由工作者來增加并由驅動程式去讀取的變量——這樣并行聚合可以實作成支援容錯的。值得注意的是全局變量是在spark中模仿dsm功能的一種特殊方式。

繼續閱讀