2017-04-03 3 views
0
Process spark = new SparkLauncher() 
.setAppResource("myApp.jar") 
.setMainClass("com.aa.bb.app") 
.setMaster("yarn") 
.setDeployMode("cluster") 
.addAppArgs(data) 
.launch(); 

これはスパークジャーを糸クラスターに実行した方法です。ここにいくつかの質問があります。スパークジョブの実行者

  1. この処理はエグゼキュータで行いますか? (糸1人のエグゼクティブ1人につき1回のスパーク提出?)
  2. マルチスパークジョブを同時に実行する必要がありますか? (どこで動的割り当て(spark.dynamicAllocation.enabled)を設定する必要がありますか)
  3. 実行コンフィギュレーションの数はどこで設定する必要がありますか? Javaコードですか?糸xmlで?
  4. 実行者の数を2に設定して単一ジョブを処理すると、エグゼキュータの1人は何もしません。
+0

なぜこの方法を使用してスパークアプリケーションを起動しますか?代わりにspark-submitを使用することができます。
別のこと、私はあなたが最初にsparのexecutorを理解するためにsparkのドキュメントを読むべきだと思います。 sparkを使ってjarファイルを実行しても、それが1つのエグゼキュータで実行されているかどうかはわかりません。エグゼキュータを開始するマップジョブがある場合は、データ入力サイズであるsparkを使用するコードでさらに掘り下げてください。うまくいけば、スパークのドキュメントをチェックし、あなたの質問を洗練してくださいhttp://spark.apache.org/docs/2.1.0/programming-guide.html http://spark.apache.org/docs/2.1.0/running-on- yarn.html – user1314742

答えて

0

これは何もする必要はありません。自動的に割り当てられます。

enter image description here

関連する問題