2017-02-08 8 views
0

私は以下のようなワークフローがあります。スパークはシングルアクションで永続性が必要ですか?

rdd1 = sc.textFile(input); 
rdd2 = rdd1.filter(filterfunc1); 
rdd3 = rdd1.filter(fiterfunc2); 
rdd4 = rdd2.map(mapptrans1); 
rdd5 = rdd3.map(maptrans2); 
rdd6 = rdd4.union(rdd5); 
rdd6.foreach(some transformation); 

1.Do私はRDD1を永続化する必要がある、または全く必要ジョブを1つだけ作成されますrdd6でかつ単一のジョブで唯一のアクションがあるので、その必要はありませんか?持続の?

2.また、rdd2の変換がmapではなくreduceByKeyの場合はどうなりますか?これは、同じ仕事は、単一の仕事以来、持続する必要はありませんか?

答えて

0

複数のアクションでRDDを再利用する予定がある場合は、それを維持する必要があります。単一のアクションでは、いつ再計算し、いつ再利用するかを決定する良い仕事をします。

UIでDAGが表示され、rdd1がファイルから一度だけ読み込まれることを確認できます。

関連する問題