Spark 1.4(https://github.com/soundcloud/cosine-lsh-join-spark/tree/master/src/main/scala/com/soundcloud/lsh)でLSHアルゴリズムを適用すると、LIBSVMフォーマット(https://www.csie.ntu.edu.tw/~cjlin/libsvm/)のテキストファイルを処理して重複を検索します。まず、36コアのエグゼキュータを1つだけ使用して、サーバーにスカラースクリプトを実行しました。私は1.5時間で私の結果を検索しました。hadoopクラスタでsparkを実行しているときに糸でより速い結果が得られない
私の結果をもっと速くするために、各ノードに20コアと64ギガバイトのメモリがある3つのノードを持つhpcの糸を使ってhadoopクラスタでコードを実行しようとしました。私が理解できるように
spark-submit --class com.soundcloud.lsh.MainCerebro --master yarn-cluster --num-executors 11 --executor-memory 19G --executor-cores 5 --driver-memory 2g cosine-lsh_yarn.jar
、私が割り当てられている3:結果https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
、私は以下のように火花を提出した:私はHPCに多く、実行中のコードを経験しておりませんので、私はここで与えられた提案が続いていますノードごとのエグゼキュータと各エグゼキュータのための19 GBです。
しかし、2時間以上経過しても結果が得られませんでした。
マイスパーク構成は次のとおりです。
val conf = new SparkConf()
.setAppName("LSH-Cosine")
.setMaster("yarn-cluster")
.set("spark.driver.maxResultSize", "0");
どのように私はこの問題を掘ることができますか?どこから計算時間を改善する必要がありますか?
編集:私はその合体に気づいた
1)
は、糸中の道はるかに遅い
entries.coalesce(1, true).saveAsTextFile(text_string)
2)HPC FROM
執行やステージ:
執行やステージ:
私の最初の勘は、糸クラスタが複数並列性を提供していない(40個の合計コアは36個のコアをv.s.)が、それは、ネットワークのオーバーヘッドを導入しています。それ以上の情報がなければ、原因を見つけることは不可能です。 Spark UIを使用してジョブの時間を比較し、どちらが遅いかを確認することができます。 – zsxwing
ありがとう@zsxwing!私はステージを確認し、ここに通知します。 –
@zsxwingいくつかのUIトラッキングを追加しました。見られるように、ステージは、特に仕分け手順中の糸クラスターで少し長くかかる。これらの結果は重要なことを伝えていますか? –