私はipythonコンソールでpysparkジョブを実行しています。私はスパークマスターをlocal[4]
と設定しました。だから私は、Javaプロセスでなければならないドライバ用のコアと、他の3つのコアがそれぞれPythonプロセスを実行することを期待しています。しかし、この私のtop
のスクリーンショット、Sparkのコア数よりも多くのPythonプロセスが存在するのはなぜですか?
16個のpythonのプロセスがあるのはなぜ?なぜ3つのpythonプロセスしかないのですか?私が覚えていれば、16はこのサーバー上のコアの総数です。
なぜPythonはJavaプロセスを気にするべきですか? – YOU
@YOU PySparkを理解することに基づいて、Sparkエグゼキュータのコアがタスクを実行する必要がある場合、実際の計算を行うPythonプロセスを起動します。私は 'local [4]'を指定しているので、ドライバのために1つのコアが使用され、他の3つのコアはそれぞれ、タスクを計算するためにpythonプロセスを起動します。 – panc
関連:https://www.youtube.com/watch?v=7ooZ4S7Ay6Y&feature=youtu.be&t=1h30m30s – Kristian