2016-12-16 5 views
0

Spark 2.0.0スタンドアロンでPySparkジョブを実行しています。私の仕事は(UIと出力ファイルで示されているように)うまくいっていますが、スパークの文脈は決して閉じず、私の仕事は生きています。Spark 2.0.0完了後のスタンドアロンPySparkジョブがハングアップする

私は、次の火花提出ステートメントを使用しています:

./bin/spark-submit --master ${sparkmaster} --executor-memory 16g --num-executors 45 --executor-cores 3 --verbose /home/spark_mr1mr2.py 

は、ここに私のPySparkスクリプトの終わりです:

16/12/15 23:11:06 INFO BlockManagerInfo: Removed broadcast_0_piece0 on 192.168.14.250:33654 in memory (size: 20.1 KB, free: 8.4 GB) 
16/12/15 23:11:06 INFO ContextCleaner: Cleaned accumulator 0 

.coalesce(1,shuffle=True).saveAsTextFile("mr2out"+os.environ.get("RUN_NAME")+"/", codec) 
exit() 

そしてここでは、最後のログ・メッセージです

ジョブを正常に完了して正常に終了するにはどうすればよいですか?何か不足していますか?

答えて

1

一般に、スパークアプリケーションを正常に停止するには、SparkContextオブジェクトでstop()を呼び出す必要があります。 SparkSessionを使用している場合は、元のSparkContextを停止するだけで、stop()も呼び出すことができます。

exit()ではなくsc.stop()またはspark.stop()がそれを修正する可能性があります。

+0

ありがとうございました。私はまだこれを直接テストすることができませんでした。私はそれが動作していると思うが、私はそれが私の問題を解決したことを確認できるときに答えを受け入れるだろう。 –

+0

例外を呼び出すかsc.stop()を呼び出すと、ジョブがハングしないように見えます。 –

関連する問題