2016-11-14 16 views

答えて

2

RDDでは、後でRDDで複数のアクションまたはコールアクションを適用することができます。 RDDのスパークを持続させると、Actionの実行のために必要とされるすべてのステージがスキップされます。すべての変換を実行すると、すべての変換が実行され、countのような別のアクションをもう一度実行すると、今度はRDDの1つを保持します。それは、再実行し、すべての変換は、単に非持続し、実行する前に、すべてスキップしません。あなたはRDD2がすでにある気づくようrdd2.collectは、すべての変換の上に実行されますそれを呼ぶ時には、上記の例のように、たとえば

val list = sc.parallelize(List(1,23,5,4,3,2)) 
val rdd1 = list.map(_+1) 
val rdd2 = rdd1.map(_+5).cache 
rdd2.collect 
rdd2.count 

を一部を持続これでcountが呼び出されると、それ以上の変換は実行されず、永続化されたrddを使用して結果が計算されます。

関連する問題