Spark GraphX進行圖計算時的OOM問題

                   目前Spark的社區十分活躍,在Hadoop2.0上部署更能體現出其計算價值。但是作爲Spark的五大成員組件之一的GraphX在計算圖時的效果究竟怎樣呢?

     我們都知道Spark立足於內存計算,所以計算速度快。但是這卻不可避免的導致OOM的問題。GraphX中的七大算法大都是基於pregel模型實現的,它集成了原生的pregel模型和GAS模型的公共優勢,減少了算法的複雜度。利用該模型進行計算時,會產生大量的消息,這些消息都被緩存在內存中,爲了減少RDD分區轉換之間的計算。但是當圖的規模越來越大,而yarn所能提供的資源又有限,這時候該怎麼辦呢?下面給出一些簡單的方法,或許會有用。

1、修改jvm的配置

2、在sparkconf裏把不必要的壓縮,序列化等參數設爲false

3、重新改變圖的分區存儲,減少shuffle,partitonby可設置四種圖的分區策略

4、增加executor個數,或內存

5、修改spark.storage.memoryFraction 默認是0.6

6、求出部分子圖進行計算

7、重啓sc,徹底釋放內存

8、修改源碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章