2017-10-06 5 views
0

sparkプログラムを開発する際に私はローカルマシンを使用しているので、setMasterを "local"に設定する必要があります。しかし、自分が開発したプログラムから構築したjarファイルを提出すると、明らかに「ローカル」モードを使用しないことを望みます。スパークコードでconf.setMaster()を設定ファイルを使ってローカルまたはヤーンクラスターを自動設定する

おそらくtypesafeconfigを使用して、テスト時に「ローカル」を、プロダクション時に「糸クラスター」を設定できますか?

EDIT:IDEAのIntelliJのための@Shaidoからのソリューションに基づいて

移動先:実行 - > EDIR confirgurations->アプリケーション・コンフィギュレーション・セットの下で:理想的 VM options = -Dspark.master=local[*]

答えて

0

IDEを使用している場合は、setMasterをコードにハードコードする必要はありません。 Eclipse用

、あなたは「実行構成」に行くことができます - >「引数」 - >「VM引数」とローカルで実行している場合これは、すべての利用可能なコアを使用します

-Dspark.master=local[*] 

を追加します。他のIDEも同様の設定にする必要があります。このようにして、コード自体に何かを追加する必要はありません。

クラスタ上で実行されている、使用:

spark-submit --master yarn --deploy-mode cluster 
0

糸クラスターまたはローカルは、コードにハードコードされていないspark-submitでコマンドライン入力として指定する必要があります。あなたは地元から提出されている場合は、クラスタとlocalから提出されている場合は、

spark-submit --master yarn --deploy-mode cluster in spark 2.1 

を渡すことができます。

関連する問題