2017-04-11 9 views
1

スパーク設定ページの情報に基づいて、スパーク1.5からNettyに切り替えた後、シャッフルとキャッシュブロック転送中にgcを減らすためにオフヒープバッファが使用されます。だから、私の質問は、今日のスパークでは、シャッフルステージでヒープスペースはどうなるのでしょうか?スパークシャッフルステージ中にヒープスペースに何が起こるか

答えて

0

スパークは、アンダーフード最適化のためのシャッフル操作の場合、中間データをディスクに保存します。この中間データは、一部の部分の再計算の際に同じ系統(DAG)内で再利用されます。これは、RDDがキャッシュされていないか、明示的に保持されていても発生します。各シャッフルファイル出力ストリームのインメモリバッファの

spark.shuffle.file.buffer

サイズ。 これらのバッファは、中間シャッフルファイルを作成するための で行われたディスクシークとシステムコールの回数を減らします。 2.x.x前

more config info

バージョン

For version 1.x.x

+0

あなたがシャッフルについての中間データについての詳細を与えることができます。さらにもう一つ、現在のスパーク(2.1.0)では、ヒープの中の何が計算ジョブの中間データだけであると考えることができますか? –

+0

Spark 2.x.xは、RDD/Datasetがどこに保存されるかに関しては少し異なります。中間データは、私が想定しているバージョンに関係なくディスクに保存されます。Spark Memory構造について理解している必要があります。私はちょうど私の答えを更新した。 – BDR

+0

どうもありがとうございました。私が指摘したいことは、この写真が古くなっていることです。 spark 1.6以降、spark.shuffle.memoryFractionパラメータはレガシーモードでのみ有効です。彼らは私が考える新しい記憶構造を導入するだけです。 –

関連する問題