問題タブ [spark-graphx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3668 参照

scala - Apache Spark GraphXでSSSPの実際のパスを取得するには?

次のように、spark サイトで単一ソースの最短パス (SSSP) の例を実行しました。

graphx-SSSP プレゲルの例

コード(スカラ):

sourceId: 0
結果を取得:
(0,0.0)
(4,2.0)
(2,1.0)
(3,1.0)
(1,2.0)

しかし、次のような実際のパスが必要です:
=>
0 -> 0,0
0 -> 2,1
0 -> 3,1
0 -> 2 -> 4,2
0 -> 3 -> 1,2

spark graphXでSSSPの実際のパスを取得するには?
誰かヒントをくれませんか?
ご協力いただきありがとうございます!

0 投票する
2 に答える
658 参照

apache-spark - 入力として Hbase テーブルを使用する Spark Graphx

キー/値を Hbase に保存していますが、すべてのキー、列修飾子を -> ノードとして、すべての値を -> ノードを接続するエッジの属性として GRaphX を使用して、これらのキーと値のペアをグラフに変換できますか?

どんなポインタでも大いに役立ちます

0 投票する
1 に答える
1272 参照

scala - reduceByKey は、GraphX のキーの値を集約せずに各 flatMap 出力を処理します

GraphX の実行に問題があります

reduceByKey が行うことを期待していたのは、flatMap の出力全体をキー (K) でグループ化し、提供された関数を使用して各キー (K) の値のリスト (Vs) を処理することです。

何が起こっているかというと、flatMap (関数 mapMsgGen を使用) の各出力です。これは、K->V ペア (通常は同じ K ではありません) のリストであり、reduceByKey 関数 mapMsgMerg を使用して、flatMap 全体が終了する前にすぐに処理されます。

明確化が必要です。何が問題なのかわかりませんか、それともflatMapとreduceByKeyが間違っていることを理解していますか??

よろしく、

マヘル

0 投票する
1 に答える
3035 参照

mapreduce - Spark - GraphX: mapReduceTriplets と aggregateMessages の比較

私はチュートリアル http://ampcamp.berkeley.edu/big-data-mini-course/graph-analytics-with-graphx.htmlで実行しています

そして、ある時点で mapReduceTriplets 操作を使用します。これは期待される結果を返します

しかし、IntelliJ は、mapReduceTriplets は非推奨 (1.2.0 の時点) であり、aggregateMessages に置き換える必要があることを指摘しています。

したがって、まったく同じコードを実行しますが、出力はありません。それは予想される結果ですか、それともaggregateMessagesの変化のために何かを変更する必要がありますか?

0 投票する
1 に答える
317 参照

apache-spark - Graph API を使用して頂点が表示されないのはなぜですか?

この次のコードを使用しています。頂点を表示しようとすると、コンソールには何も表示されませんが、エッジは正常に表示されます。

これらは、頂点の数が 0 であることも示しています。

実際には、graph.numVertices が 6 として出力されることを期待していましたが、0 であり、graph.vertices.collect().foreach(println) すべての頂点が出力されることを期待していましたが、何も出力されません。

0 投票する
1 に答える
114 参照

apache-spark - 結合最適化手法としての CSR インデックス作成とは何ですか?

Spark Graphx の論文では、次のコンテキストで CSR のインデックス作成について言及しています。

GraphX は、グラフ処理システムのコンテキストで開発されたシステム最適化を、結合の最適化 (CSR インデックス作成、結合の削除、結合サイトの指定など) およびマテリアライズド ビューのメンテナンス (頂点のミラーリングやデルタの更新など) として作り直します。

しかし、私がグーグルで検索したとき

結果は関連していた

今では、私たち全員がそれを支持していると確信しています;) しかし、より技術に関連した頭字語とセマンティクスに関する情報に興味があります.

0 投票する
1 に答える
596 参照

scala - GraphX は内部でどのようにグラフをトラバースしますか?

GraphX による Graph の内部トラバーサルを知りたいです。頂点とエッジに基づくトラバーサルですか、それとも RDDS のシーケンシャル トラバーサルですか? たとえば、グラフの頂点が与えられた場合、その近傍のみを取得したいのですが、すべての頂点の近傍ではありませんか? この場合、GraphX がグラフをトラバースする方法。

ありがとうございます。

0 投票する
2 に答える
468 参照

data-mining - 大きなグラフでの単純なパス クエリ

大きなグラフデータについて質問があります。ほぼ 1 億のエッジと約 500 万のノードを持つ大きなグラフがあるとします。この場合、長さ <=k (k=3,4 の場合) のすべての単純なパスを与えることができる、あなたが知っている最高のグラフ マイニング プラットフォームは何ですか? ,5) 任意の 2 つのノード間。主な懸念事項は、これらのパスを取得する速度です。もう 1 つのことは、グラフが有向であることですが、プログラムがパスを計算するときに方向を無視し、それらのパスを見つけたら実際に有向のエッジを返すようにしたいと考えています。

例えば:

a -> c <- d -> b は、長さ 3 のノード 'a' と 'b' の間の有効なパスです。

前もって感謝します。

0 投票する
1 に答える
333 参照

apache-pig - Pig で Piggybank HashFNV を使用して GUID タイプ String を VertexIDs タイプ Long に変換する

Apache Spark GraphX でグラフを作成するために使用する 2 つのテキスト ファイルを Hadoop に保存しています。

  1. 各頂点を識別する GUID タイプの文字列を含む、頂点情報を含むテキスト ファイル。
  2. ソースと宛先の Vertex GUID をリンクする 2 つの GUID タイプ String を含むエッジ情報を含むテキスト ファイル。

これらのテーブル ファイルを HCatalog テーブルにインポートして、HiveContext を使用して Spark からこれらのファイルにアクセスできるようにします。

私の理解は次のとおりです。

  • GraphX では、VertexID は Long 型です。
  • Strings を VertexIds として使用する機能リクエストが Apache Spark GraphX 開発者コミュニティで発行されています: https://issues.apache.org/jira/browse/SPARK-3799

プロジェクトを進めるために、GraphX で VertexID を実装するために、Long 型の GUID 情報に基づいて、2 つのテーブルを追加の列で拡張したいと考えています。Pig は、UUID/GUID を Long 型に変換する Java のような UUID.getMostSignificantBits() などの関数を提供しません。

Piggybank UDF には、「評価」セクションに関数 HashFNV の実装が含まれています。私は Java 開発者ではありませんが、関数が String 型の入力を変換し、Long 型のハッシュを返すことを Java ソース コードから理解しています。また、DataType.LONG の列を持つ新しいテーブルに入力テーブルを拡張します。

質問:

  1. HashFNV 関数を実行する Piggybank jar で Pig を使用して、GUID 情報を含む入力テーブル/ファイルから Long 型の VertexIds を生成するための実用的で実用的な方法はありますか?
  2. Piggybank jar を登録した後、Pig 内で HasFNV 関数を呼び出して使用するにはどうすればよいですか? サンプルコードを提供できますか?

仮定:

  • 一意の GUID は、HashFNV を使用して Long 型の一意のハッシュになります。
  • 128 ビットを表す GUID が 64 ビットの Long に収まらないことは理解しています。ただし、入力ファイル内の GUID の量が 64 ビット空間を超えることはありません。