spark常用RDD算子 - Reduce(),fold()

reduce(fun) 算子:
每次傳入兩個參數通過fun 的到一個返回值該返回值繼續與后面的值進行調用fun
直到所有的數據計算完成,最后返回一個計算結果

reduce算子代碼示例

List<Integer> number = Arrays.asList(3,2,5,4,7);
JavaRDD<Integer> numRDD = javaSparkContext.parallelize(number);//比如這里的函數,每兩個元素相加
int reuslt = numRDD.reduce(new Function2<Integer, Integer, Integer>() {@Overridepublic Integer call(Integer integer, Integer integer2) throws Exception {return integer+integer2;}
});//最后的結果為 21
System.err.println(reuslt);


?

fold算子
fold跟reduce是差不多,只不過fold有初使值,先計算各個分區與初使值的結果,存入數組,再計算結果與初使值的值

可以得出當有1個分區時,初值被計算2次,第一次與分區數據,第二次與分區結果數據

fold算子?代碼示例

List<Integer> number = Arrays.asList(3,2,5,4,7);
JavaRDD<Integer> numRDD = javaSparkContext.parallelize(number,2);
System.out.println(numRDD.glom().collect());
//numRDD的返回結果如下 [[3, 2], [5, 4, 7]]Integer fold = numRDD.fold(1, new Function2<Integer, Integer, Integer>() {@Overridepublic Integer call(Integer integer, Integer integer2) throws Exception {return integer + integer2;}
});
System.out.println(fold);
//最終fold的計算結果為 24
//計算過程如下 
// 3+2+1=6
// 5+4+7+1=17
// 6+17+1=24

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處:https://dhexx.cn/hk/18454.html

如若內容造成侵權/違法違規/事實不符,請聯系我的編程經驗分享網進行投訴反饋,一經查實,立即刪除!


相關文章:

  • 將html轉換為word文檔的幾種方式
  • MCI 錄制指定格式音頻
  • SpringBoot整合自定義異常
  • spark常用RDD算子 - flatMapToPair
  • xp系統打印機服務器不可用,WinXP系統添加打印機操作無法完成如何解決?
  • [轉]UIApplicationDelegate分析小結
  • EDIT-SPOOL-臨時變量-已定義變量-COLUMN-PAGESIZE-LINESIZE
  • SpringBoot整合SpringSecurity+Redis權限控制
  • spark常用RDD算子 - reduceByKey
  • unturned服務器消息設置,unturned服務器怎么設置
  • XSS與字符編碼的那些事兒
  • SpringBoot整合EasyExcel+MyBatis-Plus實現Excel批量導入和導出
  • SAP修改前臺屏幕字段文本
  • spark常用RDD算子 - foldByKey
  • SpringBoot整合Shiro+Redis框架權限管理
  • 【Lucene4.8教程之二】索引
  • 自制AutoMapper實現DTO到持久層Entity的轉換
  • spark常用RDD算子 - SortByKey
  • Nginx安裝及使用
  • 成功路很多,選對放心日賺幾百不是問題
  • spark常用RDD算子 - groupByKey
  • SpringBoot整合RabbitMQ消息中間件及多種設計模式
  • LCHub:ChatGPT4和低代碼來臨,程序員面臨下崗?
  • 運行Applet程序
  • Ubuntu12.04編譯Android4.0.1源碼全過程-----附wubi安裝ubuntu編譯android源碼硬盤空間不夠的問題解決...
  • Redis+SpringBoot整合
  • spark常用RDD算子 - cogroup
  • c# Xml反序列化示例
  • 《大話數據結構》圖的BFS和DFS
  • spark常用RDD算子 - 鍵值對關聯操作 subtractByKey, join,fullOuterJoin, rightOuterJoin, leftOuterJoin
  • 樹莓派_Linux串口編程_實現自發自收
  • 3.3FactoryMethod——工廠方法
  • Springboot筆記
  • spark常用RDD算子 - PairRDD的Action操作countByKey, collectAsMap
  • Spring與Hibernate、Mybatis整合
  • 學習ASP.NET MVC(五)——我的第一個ASP.NET MVC CURD頁面
  • SpringCloud學習之路
  • Spark Rdd分區 coalesce()方法和repartition()方法
  • 存儲引擎-存儲結構之二:頁
  • 配置開發支持高并發TCP連接的Linux應用程序全攻略
  • Spark RDD中的寬依賴和窄依賴
  • 學習java虛擬機
  • javascript 設置元素樣式 函數
  • 解決問題
  • Spark RDD Partitioner 分區機制解析
  • MySQL學習日記
  • 【不積跬步,無以致千里】關閉631端口cups打印服務和8009端口ajp
  • 阿里云服務器上安裝mysql的心路歷程(博友們進來看看哦)
  • Spark RDD分區 分區劃分器
  • SpringBoot發送郵件定時任務