當前位置:
首頁 > 知識 > Spark運算元講解(下)

Spark運算元講解(下)

接上

11:takeSample

Spark運算元講解(下)

隨機採樣,抽取num個樣例。可以指定是否重複抽取,隨機數種子是一個生成隨機數的初始條件,可以使用系統時間戳作為種子值。

當不允許重複抽取時候,num數目大於rdd元素數目不會報錯,此時只會抽取rdd的所有元素。

12:takeOrdered

Spark運算元講解(下)

抽取出num個個最小的元素,唯一和top區別就是top抽取大的,takeOrdered抽取小的。

13:take

Spark運算元講解(下)

返回num個數據,一般當數據較大的時候如果collect操作會導致Driver內存溢出,所以此時可以使用take攜帶少量數據到Driver。

14:subtract

Spark運算元講解(下)

返回一個在當前RDD中且不在other中的元素所生成的RDD

15:sortBy

Spark運算元講解(下)

16:sample

Spark運算元講解(下)

隨機採樣,是否重複採樣,抽取數據的百分比例。

17:repartition

Spark運算元講解(下)

重新創建一個只有numPartitions個分區的RDD,提高分區數或降低分區數會改變並行度,內部實現實現需要shuffle。如果需要降低RDD的分區數的話儘可能使用coalesce運算元,它會避免shuffle的發生。

18:coalesce

Spark運算元講解(下)

降低原來RDD的分區數目到numPartitions個分區。例如由1000個分區降到100個分區的話,這樣是一個窄依賴,因此不需要shuffle過程。

但是如果RDD原本有2個分區的話,當我們調用coalesce(5)的話,生成的RDD分區還將是2,不會增加,但是如果調用coalesce(1)的話,則會生成分區個數為1的RDD。(coalesce只會減少分區數,不會增加分區數)。

拓展:如果我們的RDD分區數為1的話,我們可以傳遞shuffle=true,當計算時候會進行shuflle分布到多個節點進行計算。

19:checkpoint

Spark運算元講解(下)

Mark this RDD for checkpointing. It will be saved to a file inside the checkpoint directory set with SparkContext#setCheckpointDir and all references to its parent RDDs will be removed. This function must be called before any job has been executed on this RDD. It is strongly recommended that this RDD is persisted in memory, otherwise saving it on a file will require recomputation.

20:cartesian

Spark運算元講解(下)

文章摘自博客園


中公優就業 幫你成就職業夢:

IT教育專業培訓:https://www.ujiuye.com/

IT職業在線教育:https://xue.ujiuye.com/

大數據時代下做java開發工程師:https://www.ujiuye.com/zt/java/?wt.bd=lsw44106tt

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

Spark運算元講解(上)
盤點互聯網黑色產業
慶祝優就業甘肅分校UI設計微課堂圓滿成功
Python函數

TAG:IT優就業 |