Spark核心RDD:foldByKey函数详解
来源:互联网 发布:网络效应和锁定效应 编辑:程序博客网 时间:2024/06/05 15:42
- foldByKey(zeroValue: V, numPartitions: Int)(func: (V, V) => V): RDD[(K, V)]
- foldByKey(zeroValue: V)(func: (V, V) => V): RDD[(K, V)]
- foldByKey(zeroValue: V, partitioner: Partitioner)(func: (V, V) => V): RDD[(K, V)]
foldByKey操作作用于RDD[K,V]根据K将V做折叠、合并处理,其中的参数zeroValue表示先根据映射函数将zeroValue应用与V,进行初始化V,在将映射函数应用于初始化后的V。
scala> val rdd1 = sc.makeRDD(Array( | ("A", 1), ("A", 2), ("B", 1), ("B", 2), ("C", 1) | ))rdd1: org.apache.spark.rdd.RDD[(String, Int)] = ParallelCollectionRDD[12] at makeRDD at <console>:24scala> /** | * rdd1中每个key对应的V进行累加,注意zeroValue=0,需要先初始化V,映射函数为+操作 | * 比如,("A", 1), ("A", 2),先将zeroValue应用于每个V,得到("A", 1+0), ("A", 2+), | * 即,("A", 1), ("A", 2),在将映射函数应用于初始化后的V,最后得到("A", 1+@), ("A", 3) | */ | rdd1.foldByKey(0)(_+_).collect()res14: Array[(String, Int)] = Array((B,3), (A,3), (C,1))
//映射函数为乘法时,zeroValue需设置成1 rdd1.foldByKey(1)(_*_).collectres16: Array[(String, Int)] = Array((B,2), (A,2), (C,1))
阅读全文
0 0
- Spark核心RDD:foldByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark核心RDD:combineByKey函数详解
- Spark 工作原理及核心RDD 详解
- Spark核心RDD:Sort排序详解
- Spark核心编程:RDD持久化详解
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- 3.3 Spark RDD 键值转换操作2-combineByKey、foldByKey
- spark foldByKey
- “戏”说Spark-Spark核心-RDD 持久化机制详解
- Spark核心RDD理解
- 数据结构第五周项目-自建算法库链栈
- 349. Intersection of Two Arrays
- 算法-排序-快速排序
- XTU1177 Grid--组合数
- 看看什么时候被收录
- Spark核心RDD:foldByKey函数详解
- [leetcode] 26. Remove Duplicates from Sorted Array
- 每天一道LeetCode-----将数字集转成字母集,计算有多少种转换方式
- DOM、javaScript与HTML
- HDU P2089 不要62
- 排序算法集合
- jQuery结合layerUI框架随机抽号网页版
- Scala中继承
- 20170705