Apache Giraph 是一個專為高擴展性設計的迭代圖處理系統,廣泛應用於 Facebook 等大型平台的社交圖譜分析。它源於 Google 2010 年發表的 Pregel 論文,並以 Leslie Valiant 提出的「大規模同步並行」(BSP)分布式計算模型為理論基礎。Giraph 在保留 Pregel 核心思想的同時,引入了主節點計算、分片聚合器、邊導向輸入、外存計算等增強功能,憑藉穩健的開發週期與活躍的社群,成為釋放海量結構化數據潛力的首選方案。
Giraph 建立於 Hadoop 生態之上,將 MapReduce 的 Mapper 進行封裝並捨棄 Reducer 階段。在 Mapper 內部執行多輪迭代,每輪迭代對應 BSP 模型中的一個 SuperStep;一個完整的 Hadoop Job 則等價於一次 BSP 作業。其基礎架構圖解如下:

圖示:Giraph 的基礎架構
compute() 函數
圖示:源碼結構概覽
Giraph 的 BSP 式迭代機制確保了大規模圖計算的容錯性與一致性,使其在 PageRank、最短路徑、社區發現等經典圖算法上表現卓越。對於需要處理數十億邊級別圖數據的場景,Giraph 提供了開箱即用的分布式解決方案。