問題タブ [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.
scala - spark および graphx で mapReduceTriplets を使用して関数をグラフ データに適用する
graphx を使用して、spark のグラフ ネットワークに mapReduceTriplets を適用する際に問題が発生しています。
私はチュートリアルに従い、[Array[String],Int] としてまとめられた自分のデータを読み込んでいます。たとえば、私の頂点は次のとおりです。
org.apache.spark.graphx.VertexRDD[Array[String]]
例: (3999,Array(17, Low, 9))
そして、私のエッジは次のとおりです。
org.apache.spark.graphx.EdgeRDD[Int]
例: Edge(3999,4500,1)
頂点の配列 (上記の例 9) の最後の整数のいくつが最初の整数 (上記の例 17) と同じか異なるかをカウントする mapReduceTriplets を使用して、集約型関数を適用しようとしています。接続されたすべての頂点。
したがって、一致または不一致の数のカウントのリストになります。
私が抱えている問題は、mapReduceTriplets を使用して任意の関数を適用することです。私は scala にまったく慣れていないので、これは本当に明白かもしれませんが、graphx チュートリアルには、Graph[Double, Int] 形式のグラフを使用する例がありますが、私のグラフは Graph[Array[String],Int] の形式なので、最初のステップとして、例でグラフを使用してそこから作業する方法を見つけようとしています。
Graphx Web サイトの例は次のとおりです。
何かアドバイスをいただければ幸いです。または、mapreducetriplets を使用するよりも良い方法があると思われる場合は、喜んでお聞かせください。
編集された新しいコード
neo4j - neo4j データベースを mazerunner docker にプルする方法
kenny Bastani から提供された Mazerunner docker を使用して、neo4j と spark-graphx を統合しています。与えられたムービーグラフを処理できます。ここで、独自の Twitter グラフを Mazerunner docker にプルしたいと考えています。新しいグラフを mazerunner docker にプルする方法を教えてください。前もって感謝します。
-ナレンドラ
scala - GraphXでcompactBufferをマップするにはどうすればよいですか
私はこのようなコンパクトバッファを持っています:
その compactBuffer をマップし、(コード化した) 関数をその map に渡すにはどうすればよいですか? 前もって感謝します !
apache-spark - Spark GraphX メモリ不足のエラー SparkListenerBus (java.lang.OutOfMemoryError: Java ヒープ領域)
Apache Spark (Graphx) でメモリ不足の問題があります。アプリケーションは実行されますが、しばらくするとシャットダウンします。Spark 1.2.0 を使用しています。クラスタには、コア数に十分なメモリがあります。GraphX を使用していない他のアプリケーションは問題なく動作します。アプリケーションは Pregel を使用します。
Hadoop YARN モードでアプリケーションを送信します。
HADOOP_CONF_DIR=/etc/hadoop/conf spark-submit --class DPFile --deploy-mode cluster --master yarn --num-executors 4 --driver-memory 10g --executor-memory 6g --executor-cores 8 - -files log4j.properties spark_routing_2.10-1.0.jar road_cr_big2 1000
スパーク構成:
回答ありがとうございます。
ログ:
graph - Spark と GraphX を使用して相互に Edge を見つける
私はsparkとgraphxに本当に慣れていません。私の質問は、それらの間に相互の(相互に)エッジを持ついくつかのノードを持つグラフがある場合、パフォーマンスの良いエッジを選択したいということです。例:
ソース宛先
1 2
1 3
1 4
1 5
2 1
2 5
2 6
2 7
3 1
結果を取得したい:
1 2
2 1
1 3
3 1
順序は任意です。どうすればこれを入手できるか、誰にもわかりますか?
scala - エッジプロパティを介してspark-graphxのグラフをトラバースする
私は、誰かが次のことについていくつかの提案をしてくれることを望んでいました。最近、同様の(っぽい)問題でここで本当に大きな助けがあり、それを拡張したかったのです。
私は現在、次のようなgraphxを使用して構築されたネットワークを持っています(頂点とエッジの数がはるかに多い場合のみ)
頂点 ID、属性 1、属性 2
1001、2、0
1002、1、0
1003、2、1
1004、3、2
1006, 4, 0
1007、5、1
エッジ ソース、宛先、属性
1001、1002、7
1002、1003、7
1003、1004、7
1004、1005、3
1002、1006、5
1006、1007、5
頂点ごとに、エッジ属性に基づいて接続された各コンポーネントにチェーンを下ってメッセージを送信し、チェーンに沿って別の頂点属性に一致する頂点属性の数をカウントします。
例: 頂点 1004 の接続エッジ属性は 7 であるため、エッジ属性 7 によって 1004 に接続されている各コンポーネントを識別したい場合、この場合は 1001->1002->1003->1004 となり、パターン1004 (この場合は 2) から 2 番目の頂点属性を、チェーンに沿って一致する最初の頂点属性に一致させます (この場合、1003 および 1001 と一致し、合計カウントが 2 になります)。
私は解決策が各頂点になると考えていました:
- それに接続するすべてのエッジ プロパティによるサブグラフ
- これらのサブグラフのそれぞれに沿って、一致するすべての頂点プロパティをカウントします
- 各頂点の最後にカウントを生成します
このタスクを達成するための最善の方法についての提案は大歓迎です。たとえば、Pregel のようなものを使用してこれを行うことは可能でしょうか?