1

マルチノードの giraph クラスターが PC で正常に動作しています。Giraph から SimpleShortestPathExample を実行したところ、問題なく実行されました。

このアルゴリズムは、次のファイル (tiny_graph.txt) で実行されました。

[0,0,[[1,1],[3,3]]]
[1,0,[[0,1],[2,2],[3,1]]]
[2,0,[[1,2],[4,4]]]
[3,0,[[0,3],[1,1],[4,4]]]
[4,0,[[3,4],[2,4]]]

このファイルの入力形式は次のとおりです。

[source_id,source_value,[[dest_id, edge_value],...]]

今、私はこの同じアルゴリズムをこの同じクラスターで実行しようとしていますが、元のファイルとは異なる入力ファイルを使用しています。私自身のファイルは次のようなものです:

[Portada,0,[[Sugerencias para la cita del día,1]]]
[Proverbios españoles,0,[]]
[Neil Armstrong,0,[[Luna,1][ideal,1][verdad,1][Categoria:Ingenieros,2,[Categoria:Estadounidenses,2][Categoria:Astronautas,2]]]
[Categoria:Ingenieros,1,[[Neil Armstrong,2]]]
[Categoria:Estadounidenses,1,[[Neil Armstrong,2]]]
[Categoria:Astronautas,1,[[Neil Armstrong,2]]]

オリジナルと非常に似ていますが、ID は String で、頂点とエッジの値は Long です。私の質問は、これにどの TextInputFormat を使用する必要があるかということorg.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormatですorg.apache.giraph.io.formats.TextDoubleDoubleAdjacencyListVertexInputFormat

この問題が解決されたので、元の最短パスの例のアルゴリズムを適応させてファイルで機能させることができましたが、これに対する解決策が得られるまで、その点に到達することはできません。

この形式が適切な決定ではない場合は、おそらくそれを適応させることができますが、どれが私の最良の選択肢であるかはわかりません.giraphのテキスト入力および出力形式からの私の知識は本当に悪いです.

4

2 に答える 2

1

私は自分のファイルをに合わせてこれを解決しましたorg.apache.giraph.io.formats.TextDoubleDoubleAdjacencyListVertexInputFormat。元のファイルは次のようになります。

Portada 0.0     Sugerencias     1.0
Proverbios      0.0
Neil    0.0     Luna    1.0     ideal   1.0     verdad  1.0     Categoria:Ingenieros    2.0     Categoria:Estadounidenses       2.0     Categoria:Astronautas   2.0
Categoria:Ingenieros    1.0     Neil    2.0
Categoria:Estadounidenses       1.0     Neil    2.0
Categoria:Astronautas   1.0     Neil    2.0

データ間のこれらのスペースはタブ スペース ('\t') です。この形式には、元の行を複数の文字列に分割するための所定のトークン値としてそのオプションがあるためです。

とにかく助けてくれてありがとう@masoud-sagharichian!! :D

于 2015-08-03T02:06:03.360 に答える