3

Spark シェルからサンプル (SparkPi) を実行する方法はありますか? または、シェルを介して Spark ジョブを Mesos クラスターに送信しますか? はspark-submit現在 Mesos への展開をサポートしていませんが、ドライバーをエグゼキューターにも配置するために、そのようなことを実現したいと考えています。

4

1 に答える 1

0

1) spark-shell と spark-submit を Mesos クラスターに接続できます。

./bin/spark-shell -h

Usage: ./bin/spark-shell [options]
Options:
  --master MASTER_URL         spark://host:port, mesos://host:port,     yarn, or local.
  --deploy-mode DEPLOY_MODE   Whether to launch the driver program locally ("client") or
                          on one of the worker machines inside the cluster ("cluster")
                          (Default: client).
...

2) Spark シェルからサンプル (SparkPi) を実行する方法はありますか?

要するに - はい。ただし、おそらく Spark 2.0 でのみ機能します。

Spark 1.6 での SparkPi の例の実装は、新しい Spark コンテキストを作成しようとします (spark-shell は既に作成されていますが、問題が発生します)。

https://github.com/apache/spark/blob/branch-1.6/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala

val conf = new SparkConf().setAppName("Spark Pi")
val spark = new SparkContext(conf)

Spark 2.0 での実装は、既存の Spark コンテキストの再利用を試みます: https://github.com/apache/spark/blob/branch-2.0/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala

val spark = SparkSession
  .builder
  .appName("Spark Pi")
  .getOrCreate()

では、シェルから SparkPi を起動するにはどうすればよいでしょうか? どうぞ:

./bin/spark-shell --jars ./examples/jars/spark-examples_2.11-2.0.0.jar 
scala> org.apache.spark.examples.SparkPi.main(Array("100"))
Pi is roughly 3.1413147141314712                              
于 2016-09-03T08:36:05.063 に答える