如何从scala中的map reduce作业中的键、值获取值

u5i3ibmn  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(530)

我试图从Map减少工作,即从海宁11的价值。

(mutuelle,1)
(hinein.,11)
(Pfennig,1)

我可以打印出所有的值,但如何只找到特定的值?

val counts = books.flatMap(line => line.split(" "))
val MappedRDD = counts.map(word => (word, 1))
val myReducedRDD = MappedRDD.reduceByKey(_ + _)
//myReducedRDD.collect().foreach(println)
val rdd2 = myReducedRDD.map(f => (f))
rdd2.foreach(println)
4zcjmb1e

4zcjmb1e1#

你试过使用过滤器吗?

val myReducedRDD = MappedRDD.reduceByKey(_ + _)

myReducedRDD
  .filter { case (key, value) => key == "hinein" }
  .map { case (key, value) => value } // also can use .map(_._2)
  .foreach(println)

// to assign to val
val result = myReducedRDD
  .filter { case (key, value) => key == "hinein" }
  .map { case (key, value) => value } 
  .collect()(0)

相关问题