0
は、私のラップトップは、8つのコアを持っており、私が提出した場合:コアが利用可能になったときに 利用可能なコアの数よりも多くのパーティションを指定した場合、何が起こるのですか?例えば
sc.parallelize(1 to 100, 30).count
SparkUIやログ経由で何が起こったのかを確認する方法はありますか?
は、私のラップトップは、8つのコアを持っており、私が提出した場合:コアが利用可能になったときに 利用可能なコアの数よりも多くのパーティションを指定した場合、何が起こるのですか?例えば
sc.parallelize(1 to 100, 30).count
SparkUIやログ経由で何が起こったのかを確認する方法はありますか?
コアが使用可能になると、最初に8つのタスクが実行され、次に他の22個のタスクが1つずつ実行されますか?
はい。 Spark UIには、それを観察するためのイベントタイムラインビューがあります[1]。 Sparkログでタスクが開始された時期を確認することもできます。
をリンクは非常に便利でした!問題のフォローアップ:タスクの数がコアの数よりも高くならない場合、コアの数より多くのパーティションを割り当てる理由/利点はありません。 – Glide
不良パーティション、データスキュー、ストラグラー(低速ノード)など、データに完全に依存します。あなたのパーティションが大きく、スケジューリング作業のオーバーヘッドがかなり低い場合は、コアの数よりも多くのパーティションを使用することを検討します。 – zsxwing
申し訳ありませんが、(私の限られた知識のため)あなたの最後の反応を理解できませんでした。私はこれについて別の質問を作成しました。そこに答えていただけますか? http://stackoverflow.com/questions/42284477/does-it-ever-make-sense-to-run-more-partitions-than-number-of-cores – Glide