2017-04-26 3 views
1

spark executorの静的割り当てを検討しています。 糸のスパークはエグゼキュータを起動している間にスパークアプリケーションで使用される生の入力データセットのデータローカリティを考慮します。エバリュエーターを起動している間に、Sparkがデータローカリティを処理しています

spark executorが要求され、sparkコンテキストが初期化されたときに割り当てられるように、この処理はどのように行われますか。物理的に多くの異なるデータノード上に存在する可能性のあるスパークアプリケーションで複数の生の入力データセットが使用される可能性があります。すべてのノードでexecutorを実行することはできません。

私はsparkがエグゼキュータのタスクをスケジューリングしている間に(https://spark.apache.org/docs/latest/tuning.html#data-localityのように)データの局所性を処理することを理解しています。

答えて

0

あなたがキュータ

にタスクをスケジュールしながら、糸がエグゼキュータを起動すると

火花がそれはあなたのデータがない考えを持っていない、データの局所性の面倒を見ると言って正しいです。理想的なケースでは、クラスタのすべてのノードでエグゼキュータを起動します。ただし、より現実的には、ノードのサブセットのみを起動します。

HDFSは本質的に冗長性をサポートしているため、必ずしも悪いことではありません。つまり、データを要求したノードに存在するデータのコピーが存在する可能性があります。

関連する問題