を切断Iスパークシェルで次のジョブを実行した:スパークUI DAGステージ
val d = sc.parallelize(0 until 1000000).map(i => (i%100000, i)).persist
d.join(d.reduceByKey(_ + _)).collect
をスパークUIを3つの段階を示しています。ステージ4および5は、d
の計算に対応し、ステージ6は、collect
アクションの計算に対応する。 d
が保持されているので、私は2つのステージしか期待しません。しかしながら、ステージ5は、他のステージに接続されていない状態で存在する。
だから、持続使用せずに、同じ計算を実行しようとした、とDAGは、RDDが永続化されたことを示す緑のドットなしを除いて、全く同じように見えます。
Iは、ステージ11の出力は、ステージ12の入力に接続することが期待されるが、それはありません。
ステージの説明を見ると、ステージ5には入力があるため、d
が保持されているように見えますが、ステージ5が存在する理由はまだ分かりません。