1
スパーク設定ページの情報に基づいて、スパーク1.5からNettyに切り替えた後、シャッフルとキャッシュブロック転送中にgcを減らすためにオフヒープバッファが使用されます。だから、私の質問は、今日のスパークでは、シャッフルステージでヒープスペースはどうなるのでしょうか?スパークシャッフルステージ中にヒープスペースに何が起こるか
スパーク設定ページの情報に基づいて、スパーク1.5からNettyに切り替えた後、シャッフルとキャッシュブロック転送中にgcを減らすためにオフヒープバッファが使用されます。だから、私の質問は、今日のスパークでは、シャッフルステージでヒープスペースはどうなるのでしょうか?スパークシャッフルステージ中にヒープスペースに何が起こるか
スパークは、アンダーフード最適化のためのシャッフル操作の場合、中間データをディスクに保存します。この中間データは、一部の部分の再計算の際に同じ系統(DAG)内で再利用されます。これは、RDDがキャッシュされていないか、明示的に保持されていても発生します。各シャッフルファイル出力ストリームのインメモリバッファの
spark.shuffle.file.buffer
サイズ。 これらのバッファは、中間シャッフルファイルを作成するための で行われたディスクシークとシステムコールの回数を減らします。 2.x.x前
バージョン
あなたがシャッフルについての中間データについての詳細を与えることができます。さらにもう一つ、現在のスパーク(2.1.0)では、ヒープの中の何が計算ジョブの中間データだけであると考えることができますか? –
Spark 2.x.xは、RDD/Datasetがどこに保存されるかに関しては少し異なります。中間データは、私が想定しているバージョンに関係なくディスクに保存されます。Spark Memory構造について理解している必要があります。私はちょうど私の答えを更新した。 – BDR
どうもありがとうございました。私が指摘したいことは、この写真が古くなっていることです。 spark 1.6以降、spark.shuffle.memoryFractionパラメータはレガシーモードでのみ有効です。彼らは私が考える新しい記憶構造を導入するだけです。 –