1.轉(zhuǎn)化操作####
對一個數(shù)據(jù){1,2,3,3}的RDD進行基本的RDD轉(zhuǎn)化操作
(1)map() 將函數(shù)應(yīng)用于RDD中的每個元素,將返回新的RDD
rdd.map(x => x+1) 返回{2,3,4,4 }
(2) flatMap() 將函數(shù)應(yīng)用于RDD中的每個元素,將返回的迭代器
的所有元素構(gòu)成的RDD。通常用于切分單詞。
rdd.flatMap(x => x.to(3) ) 返回 {1,2,3,2,3,3,3}
(3) filter() 返回一個由通過傳給filter()的函數(shù)的元素組成的RDD
rdd.filter( x => x != 1 ) 返回 {2,3,3}
(4) distinct() 去重
rdd.distinct() 返回 {1,2,3}
(5) sample(withRepalcement,fraction,[seed]) 對RDD采樣 ,以及是
否替換。withRepalcement 是否為放回(不重復),fraction 為數(shù)量。
rdd.sample(false,0.5) 非確定的,產(chǎn)生一般的數(shù)據(jù)
對數(shù)據(jù)分別為{1,2,3}和{3,4,5} 的RDD 進行針對兩個RDD的轉(zhuǎn)化操作
(1) union() 生成 一個包含兩個RDD 中所有元素的RDD
rdd.union(other) 結(jié)果:{1,2,3,3,4,5}
(2) intersection() 求兩個RDD共同的元素
rdd.intersection(other) 結(jié)果: {3}
(3) substract() 移除一個RDD中的內(nèi)容(例如移除訓練數(shù)據(jù))
rdd.substract(other) 結(jié)果{1,2}
(4) cartesian() 與另一個RDD的笛卡爾積
rdd.cartesian(other) 結(jié)果:{(1,3),(1,4),...}
2.行動操作####
對一個數(shù)據(jù){1,2,3,3}的RDD進行基本的RDD行動操作
(1) collect() 返回RDD中的所有元素
rdd.collect() 結(jié)果:{1,2,3,3}
(2) count() RDD 中的元素個數(shù)
rdd.count() 結(jié)果: 4
(3) countByValue() 各結(jié)果在RDD中出現(xiàn)的次數(shù)
rdd.countByValue() 結(jié)果: {(1,1),(2,1),(3,2)}
(4) take(num) 從RDD中返回num個元素
rdd.take(2) 結(jié)果: {1,2}
(5) top(num) 從RDD中返回前面的num個元素
rdd.top(2) 結(jié)果: {3,3}
(6)* takeOrdered(num)(ordering) 從RDD中按照提供的順序返回最前面的num個勻速
(7) takeSample(withReplacement,num,[seed]) 從RDD中返回任意一些元素
rdd.takeSample(false,1) 非確定的
(8) reduce(func) 并行整合RDD中的所有數(shù)據(jù)
rdd.fold(0)((x,y) => x+y) 9
(10) fold(zero)(func) 和reduce 一樣,但是需要提供初始值
rdd.fold(0)((x,y) => x+y) 返回: 9
(11)* aggregate(zeroValue)(seq0p,comb0p) 和reduce 類似但是通常返回不同的數(shù)據(jù)
rdd.aggregate((0,0))
((x,y) => (x._1 + y,x._2 +1 ),(x,y) => (x._1 + y._1, x._2 + y._2))
結(jié)果: (9,4)
(12) foreach(func) 對RDD 中的每個元素使用給定的函數(shù)
rdd.foreach(func) 無
注意:aggregate 函數(shù)
第一個函數(shù)的作用是把RDD中的元素合并起來放入累加器
第二個函數(shù)的作用是:考慮到每個節(jié)點是在本地進行累加的,
最后還需要提供一個函數(shù)將兩個累加器進行兩兩和合并
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。