spark RDD

1、RDD特點:

val rdd:[Stirng] = sc.textFile("") 

1》每個RDD都有一個partition分區列表

2》每個RDD上都有一個計算的function,val a = rdd.flatMap(_.split("")),此過程中會將方法應用到rdd上的這個方法(此處是flatMap)以及作爲flatmap參數的匿名函數,這些信息,都會保存在rdd這個對象中,val b = a.map(_,1)

3》RDD之間有相互的依賴關係,從上邊來看,從最初的rdd->a->b此過程中,每個父RDD調用它的方法,生成一個新的子RDD,如a->b,這個過程,會在b中記錄一下,他的父RDD是a(通過dependency這個類的對象記錄這種信息)

4》針對元素KV對類型的RDD,一個節點上衆多的KV對,通過shuffle,RPC,存儲在哪個節點,由分區partitioner來決定

5》根據大數據的一個理念:移動計算,移動計算而不移動數據,RDD上有5個特點,preferedLocation。會根據此特性,來將以此數據塊作爲輸入的task,按照就進一致原則,調度在一個節點上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章