欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

map和mapValues的纠纷

发布时间:2024/2/28 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 map和mapValues的纠纷 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

map 

 

mapValues 

简单来说:

map(func)

返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成

 mapValues

针对于(K,V)形式的类型只对V进行操作 

简单举例:

其实从返回类型就可以看出来:

package suanziimport org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.rdd.RDDobject Lianxi {def main(args: Array[String]): Unit = {val conf = new SparkConf().setMaster("local").setAppName("CbkDemo")val sc = new SparkContext(conf)sc.setLogLevel("error")val rdd: RDD[(String, Double)] = sc.parallelize(Array(("George", 88.0), ("George", 95.0), ("George", 88.0),("KangKang", 93.0),("KangKang", 95.0), ("KangKang", 98.0),("limu", 98.0)))val mapRdd: RDD[((String, Double), Int)] = rdd.map(x => {(x, 1)})mapRdd.foreach(println)/*** ((George,88.0),1)* ((George,95.0),1)* ((George,88.0),1)* ((KangKang,93.0),1)* ((KangKang,95.0),1)* ((KangKang,98.0),1)* ((limu,98.0),1)*/val mapValuesRdd: RDD[(String, (Double, Int))] = rdd.mapValues(x => {(x ,1)})mapValuesRdd.foreach(println)/*** (George,(88.0,1))* (George,(95.0,1))* (George,(88.0,1))* (KangKang,(93.0,1))* (KangKang,(95.0,1))* (KangKang,(98.0,1))* (limu,(98.0,1))*/} }

 

超强干货来袭 云风专访:近40年码龄,通宵达旦的技术人生

总结

以上是生活随笔为你收集整理的map和mapValues的纠纷的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。