0

私はビッグ データに取り組んでおり、私のプロジェクトはテキスト データを含むグラフで構成されています。頂点間の類似性、ホップ確率、連結成分の数、ページ ランク ベクトル、およびランダム ウォークを 1 つのプロジェクト自体で計算する必要があります。

Hadoop で実装しましたが、もっと時間がかかると思います (グラフには 2500 個のノード、4000 個のエッジ、600 個の接続されたコンポーネントがあり、25 分かかります)。

4

2 に答える 2

0

この質問が投稿されてからしばらく経ちましたが、私の経験からこのスレッドに参加することを考えました。処理時間に関する懸念については、データをどの程度処理しているかによって異なります。上記のすべての計算を 1 つの MR ジョブで実行していますか、それとも同じプログラム内の複数の MR ジョブで実行していますか? はいの場合、時間がかかる可能性があります。また、ページランクを計算するために何回繰り返し実行していますか? クラスタのサイズは?

グラフ処理を行うために Giraph を選択するという Masoud の回答に同意し、さらに追加したいと思います。Map Reduce Programming モデルでグラフ処理が難しい理由はいくつかあります。

  1. グラフは単一のマシンに収まらないため、グラフを分割する必要があります。(たとえば、5 つの異なる大学のノード/ユーザーがいる場合、同じマシン上に 1 つの大学のすべてのノードがある可能性が高いなど、近隣をまとめるための範囲分割)

  2. データのレプリケーションを実行する必要がある場合があります。

  3. パーティション間の通信を減らします。

Apache Twister についての知識がない 2 番目の懸念に戻りますが、Apache Giraph は大規模分散グラフ アルゴリズム用に特別に構築されており、フレームワークが大量の処理ニーズをすべて処理します。これらは基本的に、グラフのトラバース、エッジに沿って他のノードに情報を渡すなどのグラフアルゴリズムの機能によるものです。

最近、ビッグデータ プロジェクトの 1 つに Giraph を使用しましたが、とても勉強になりました。私が返事をするのが遅すぎないなら、あなたはそれを調べるべきです.

詳細な説明については、これらのスライドを参照してください。

于 2015-07-04T22:23:18.757 に答える