当前位置:   article > 正文

mapValues高阶函数

mapvalues

mapValues高阶函数

对象类型泛型:Map类型。只对集合中value做操作、key保持不变。一般用于求和,分组最大,分组最小,均值。常用于分组求聚合。

高阶函数(算子)--------sql,用sql语句思路翻译高阶函数。

def f1(): Unit ={
   
  var linelist: List[(String, Int)] = List(("hello scala hello world",4),
    ("hello world",3),("hello hadoop",2),("hello hbase",1))

  val flatmapRDD: List[(String,Int)] = linelist.flatMap(t=>{
   
    var line:String = t._1
    //"hello scala hello world"
    val word: Array[String] = line.split(" ")
    //"hello" "scala" "hello" "world"
    val mapRDD: Array[(String, Int)] = word.map(w=>(w,t._2))
    //("hello",4),("scala",4)....
    mapRDD
  })
  val groupRDD: Map[String, List[(String, Int)]] = flatmapRDD.groupBy(t=>t._1)
  val stringToint: Map[String, Int] = groupRDD.mapValues(data=>data.map(tt=>tt._2).sum)
  println(stringToint.mkString("|"))
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/805467
推荐阅读
相关标签
  

闽ICP备14008679号