摘要:

  1.RDD的五大屬性

    1.1 partitions(分區(qū))

    1.2 partitioner(分區(qū)方法)

    1.3 dependencies(依賴關系)

    1.4 compute(獲取分區(qū)迭代列表)

    1.5 preferedLocations(優(yōu)先分配節(jié)點列表) 

  2.RDD實現(xiàn)類舉例

    2.1 MapPartitionsRDD

    2.2 ShuffledRDD

    2.3 ReliableCheckpointRDD

  3.RDD可以嵌套嗎?

內(nèi)容:

1.RDD的五大屬性

1.1partitions(分區(qū))

  partitions : 分區(qū)屬性: 每個RDD包括多個分區(qū), 這既是RDD的數(shù)據(jù)單位, 也是計算粒度, 每個分區(qū)是由一個Task線程處理. 在RDD創(chuàng)建的時候可以指定分區(qū)的個數(shù), 如果沒有指定, 那么默認分區(qū)的個數(shù)是CPU的核數(shù)(standalone).

  每一分區(qū)對應一個內(nèi)存block, 由BlockManager分配.

 大學生就業(yè)培訓,高中生培訓,在職人員轉(zhuǎn)行培訓,企業(yè)團訓

 子類可以通過調(diào)用下面的方法來獲取分區(qū)列表,當處于檢查點時,分區(qū)信息會被重寫

 大學生就業(yè)培訓,高中生培訓,在職人員轉(zhuǎn)行培訓,企業(yè)團訓

Partition實現(xiàn):

 大學生就業(yè)培訓,高中生培訓,在職人員轉(zhuǎn)行培訓,企業(yè)團訓

partition 與 iterator 方法

  RDD 的 iterator(split: Partition, context: TaskContext): Iterator[T] 方法用來獲取 split 指定的 Partition 對應的數(shù)據(jù)的迭代器,有了這個迭代器就能一條一條取出數(shù)據(jù)來按 compute chain 來執(zhí)行一個個transform 操作。iterator 的實現(xiàn)如下:

大學生就業(yè)培訓,高中生培訓,在職人員轉(zhuǎn)行培訓,企業(yè)團訓

  其先判斷 RD

網(wǎng)友評論