scala lambda 表達式 & spark RDD函數操作


形式:(參數)=> 表達式  [ 一種匿名函數 ]

 

 

例1:map(x => x._2)

   解:x=輸入參數,“=>” 右邊是表達式(處理參數);

     x._2 : x變為(**,x,**...)元組的第二個元素;

     map ():將每一條輸入參數映射為一個新的對象,在spark中會生成新的RDD,如下

         

 

     flatmap ()對比

  

 

例2:filter(line=>line.split(",")=="Tom")- 過濾

   解:先 line.split(“,”),將每一行按“,”拆分,再選擇其中==“Tom”的元素,形成新RDD

 

例3:val list=List(1,2,3,4) 

   list.reduce(_+_)

    解: reduce(_+_)的下划線是占位符,表當前元素;

       reduce()將對兩個元素操作返回一個元素

       reduceByKey()

     

 

例4:collect()

 

     

 

例5:foreach()

      

 

 

其他RDD操作:

  flatten
  
  zip

  fold

  groupByKey

  patch

  drop

  sort

  ........

 

 

 

參考:https://www.cnblogs.com/spec-dog/p/4813933.html

     https://www.cnblogs.com/zzhangyuhang/p/8989894.html

   http://dblab.xmu.edu.cn/blog/961-2/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM