2013-02-21 20 views
0

我有一個自定義算法來處理接受txt文件作爲輸入的圖。因爲它是一個大規模的圖表,我想在apache giraph框架中實現它。我做了很多研究,但我仍然不確定自己是否在正確的道路上。具有自定義算法的Apache giraph流程圖

我讀包含圖形數據的.csv文件和使用解析器我將其轉換爲txt文件和上傳到的hadoop的HDFS文件系統。

我已閱讀apache快速入門指南中的SimpleShortestPathsVertex示例,我可以看到使用jar-with-dependencies jar文件處理HDFS中的文件中的數據。

我的問題是,我還沒有理解我的可以加我的算法在Apache giraph框架,並開始圖表的過程。我可以使用eclipse將我的算法添加到apache框架並從那裏修改它,或者有任何其他方法嗎?

謝謝!

回答

2

看一看這裏: https://cwiki.apache.org/confluence/display/GIRAPH/Shortest+Paths+Example

在那裏你能夠運行這個例子嗎? 如果是。 熟悉hadoop的不同可寫格式!否則很難將這些用於算法。

關於圖中的所有計算在計算()函數來完成。 (如果你是更先進的看看入workerContext preSuperstep和集合!) 你可以改變的例子,但只要你使用,你必須改變你的VertexReader和VertexWriter其他數據類型。

如果你心裏有一個特定的算法,讓你的心,你需要計算什麼,並指定輸入文件的佈局。然後調整你的VertexReader和-Writer。然後finaly啓動你的compute()函數!

當然你可以使用eclipse!簡單參考Giraph jar(對我來說,它是「giraph-0.1-jar-with-dependencies.jar」)並開始編碼。 所有你需要的是具體到你的算法,這些文件的實例:

  • YourGiraphJob(文件開始的Hadoop/Giraph工作)
  • YourVertex(指定每個頂點執行你的計算()函數)
  • YourInputFormat(指定YourReader的可寫格式)
  • YourOutputFormat(指定YourWriter的可寫格式)
  • YourReader(指定你的INPUTFILE如何轉換例如,對於每行一個頂點可以使用GIV進行初始化又怎麼你OUTPUTFILE從頂點生成的信息)
  • YourWriter(指定)

(optionaly一個WorkerContext,如果你想使用聚合器)

簡單結賬:http://giraph.apache.org/source-repository.html 使用Eclipse和你應該有代碼包括一個示例應用程序,你可以玩弄!