一個分片列表 partition list 一個計算函數compute,對每個split進行計算 對其餘rdd的依賴列表dependencies list.依賴又份 寬依賴和窄依賴。 partitioner for key-value RDDs.好比說 hash-partitioned rdd(這是可選的,並非全部的add都會有這個特徵) 對每個split計算的優先位置 Preferred Location。好比對一個hdfs文件進行計算時,能夠獲取優先計算的block locations
RDD建立方式 1)從Hadoop文件系統(如HDFS、Hive、HBase)輸入建立。 2)從父RDD轉換獲得新RDD。 3)經過parallelize或makeRDD將單機數據建立爲分佈式RDD。 4)基於DB(Mysql)、NoSQL(HBase)、S3(SC3)、數據流建立。
每當一個job計算完成,其內部的全部RDD都會被清除,若是在下一個job中有用到其餘job中的RDD,會引起該RDD的再次計算,爲避免這種狀況,咱們可使用persist方法「持久化」一個RDD到內存中。sql
- Spark 中 map函數會對每一條輸入進行指定的操做,而後爲每一條輸入返回一個對象; - 而flatMap函數則是兩個操做的集合——正是「先映射後扁平化」: 操做1:同map函數同樣:對每一條輸入進行指定的操做,而後爲每一條輸入返回一個對象 操做2:最後將全部對象合併爲一個對象