2016-04-01 15 views
1

最近、1つのマスタと2つのスレーブを持つAmazon EMRでSparkクラスタをセットアップしました。クラスタ全体でspark-submitでスパークジョブを実行する

pysparkを実行し、​​でジョブを送信できます。

しかし、私は、スタンドアロンのジョブを作成するとき、job.pyのように、私はSparkContextを作成し、そのよう:

sc=SparkContext("local", "App Name") 

これがないと思えるが、私はそこに置くことはよく分かりません。

私がジョブを提出するとき、私はそれがクラスタ全体を利用していないと確信しています。

私はクラスタ全体に対してジョブを実行したい場合は、スレーブごとに4つのプロセスを言って、どのような私は

にしています。)​​

Bに引数として渡す。)に引数として渡しますスクリプト自体にSparkContext()があります。

答えて

2

あなたは

conf = SparkConf().setAppName(appName) 
sc = SparkContext(conf=conf) 

を用いたスパークコンテキストを作成することができますし、スパークスタンドアロンクラスタに対して次のコマンドを使用して​​にMesosクラスター

./bin/spark-submit --master mesos://207.184.161.138:7077 code.py 
については

./bin/spark-submit --master spark://<sparkMasterIP>:7077 code.py 

をプログラムを提出しなければなりません

YARNクラスター

./bin/spark-submit --master yarn --deploy-mode cluster code.py 

YARNマスターの場合、構成はHADOOP_CONF_DIRから読み取られます。

関連する問題