scala - 如何从键中获取值,值从scala中的map reduce作业中获取
问题描述
我正在尝试从 map-reduce 工作中获取价值,即来自 hinein 的 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)
解决方案
您是否尝试过使用过滤器?
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)