0

txt ファイルを入力として受け入れるグラフを処理するためのカスタム アルゴリズムがあります。大規模なグラフなので、apache giraph フレームワークに実装したいと考えています。私は多くの調査を行いましたが、正しい道を進んでいるかどうかはまだわかりません。

グラフ データを含む .csv ファイルを読み込んでおり、パーサーを使用してそれを txt ファイルに変換し、hadoop の HDFS ファイル システムにアップロードしています。

apache クイック スタート ガイドの SimpleShortestPathsVertex の例を読みましたが、jar-with-dependencies jar ファイルを使用して HDFS のファイルからデータを処理していることがわかります。

私の問題は、Apache Giraph フレームワークにアルゴリズムを追加してグラフのプロセスを開始する方法をまだ理解していないことです。Eclipse を使用してアルゴリズムを Apache フレームワークに追加し、そこから変更することはできますか、それとも他の方法がありますか?

ありがとうございました!

4

1 に答える 1

2

こちらをご覧ください: https://cwiki.apache.org/confluence/display/GIRAPH/Shortest+Paths+Example

この例をどこで実行できますか? もし、そうなら。Hadoop のさまざまな書き込み可能な形式に慣れてください。そうでなければ、これらをアルゴリズムに使用するのは困難です。

グラフに関するすべての計算は、compute() 関数で行われます。(より高度な場合は、workerContext の preSuperstep と Aggregators を調べてください!) 例を変更できますが、他のデータ型を使用するとすぐに、VertexReader と VertexWriter を変更する必要があります。

特定のアルゴリズムを念頭に置いている場合は、計算に必要なものを決定し、入力ファイルのレイアウトを指定します。次に、VertexReader と -Writer を調整します。最後に、compute() 関数の実装を開始します。

もちろんEclipseも使えます!Giraph jar を参照するだけです (私にとっては "giraph-0.1-jar-with-dependencies.jar" です)。コーディングを開始します。必要なのは、アルゴリズムに固有のこれらのファイルのインスタンスだけです。

  • YourGiraphJob (Hadoop/Giraph ジョブを開始するファイル)
  • YourVertex (各頂点で実行される compute() 関数を指定します)
  • YourInputFormat (YourReader の書き込み可能な形式の指定)
  • YourOutputFormat (YourWriter の書き込み可能なフォーマットの指定)
  • YourReader (inputFile がどのように変換されるかを指定します。たとえば、行ごとに、与えられた情報を使用して Vertex を初期化できます)
  • YourWriter (頂点から outputFile を生成する方法を指定します)

(アグリゲーターを使用する場合は、オプションで WorkerContext。)

Eclipse を使用してhttp://giraph.apache.org/source-repository.htmlをチェックアウトするだけで、いじる ことができるサンプル アプリケーションを含むコードが得られます。

于 2013-02-28T11:28:04.973 に答える