2017-03-20 1 views
1

RDDをいくつか準備して、数時間計算しました。私はヤーンを使用します。エグゼクティブが失われ、スパーク(1.6)がソースデータを見逃してしまって狂ってしまうことがあります。 このような状況では、DISKを持続させることができます。RDDをディスク上に残してエグゼキュータの損失から糸を回復する方法

しかし、ディスク上の永続性が非DFSの場所を使用してデータを保存すると、リモート実行者はどのようにそれを読むことができますか?または、YARNがエグゼキュータを特定のノードにスケジュールするまで計算が停止していますか?

おそらく私は間違ったメカニズムを使用し、rdd.checkpoint(hdfs://)はここでより適切ですか?

+0

私は、ジョブが再起動され、ステージ1から再実行されると思います。 – BDR

+0

@BalajiReddy、私はAMと運転手がまだ生きている場合について話します。そのため、仕事は完全に再開されないほど信頼できると予想されます –

答えて

0

結局、チェックポイント設定を選択しました。

私が理解しているように、キャッシュはさらなる反復のためのスピードアップの目標だけを持っていますが、信頼性のものはありません。たとえば、プロパティspark.dynamicAllocation.cachedExecutorIdleTimeoutを使用すると、ある時点でデータを削除することさえできます。

ドキュメントに基づいて http://spark.apache.org/docs/latest/job-scheduling.html#graceful-decommission-of-executors実行者を削除すると、ホスト上で「スパークシャッフルサービス」(別の目的を果たす)が利用できますが、キャッシュされたデータにはアクセスできません。

チェックポインティングが正常に動作しているようです。

関連する問題