当前位置:   article > 正文

Spark算子:键值RDD转换操作(1)–mapValues、flatMapValues_rdd mapvalues

rdd mapvalues

mapValues(对value进行一对一的映射)

def mapValues[U](f: (V) => U): RDD[(K, U)]

同基本转换操作中的map,只不过mapValues是针对[K,V]中的V值进行map操作。

例二:

  1. val rdd3=sc.parallelize(List((1,2),(3,4)))
  2. rdd3.mapValues(_.to(5)).collect().foreach(println(_))

结果:

(1,Range(2, 3, 4, 5))
(3,Range(4, 5))

 

flatMapValues(会先对values进行map的操作,再进行一对多的压平)

def flatMapValues[U](f: (V) => TraversableOnce[U]): RDD[(K, U)]

同基本转换操作中的flatMap,只不过flatMapValues是针对[K,V]中的V值进行flatMap操作。

例二:把一个元组映射成多个元组

  1. val rdd3=sc.parallelize(List((1,2),(3,4)))
  2. rdd3.flatMapValues(_.to(5)).collect().foreach(println(_))

结果:

(1,2)
(1,3)
(1,4)
(1,5)
(3,4)
(3,5)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/466750
推荐阅读
相关标签
  

闽ICP备14008679号