0
Process spark = new SparkLauncher()
.setAppResource("myApp.jar")
.setMainClass("com.aa.bb.app")
.setMaster("yarn")
.setDeployMode("cluster")
.addAppArgs(data)
.launch();
これはスパークジャーを糸クラスターに実行した方法です。ここにいくつかの質問があります。スパークジョブの実行者
- この処理はエグゼキュータで行いますか? (糸1人のエグゼクティブ1人につき1回のスパーク提出?)
- マルチスパークジョブを同時に実行する必要がありますか? (どこで動的割り当て(spark.dynamicAllocation.enabled)を設定する必要がありますか)
- 実行コンフィギュレーションの数はどこで設定する必要がありますか? Javaコードですか?糸xmlで?
- 実行者の数を2に設定して単一ジョブを処理すると、エグゼキュータの1人は何もしません。
なぜこの方法を使用してスパークアプリケーションを起動しますか?代わりに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