在RDD压扁Scala的地图 [英] Flattening a Scala Map in an RDD
本文介绍了在RDD压扁Scala的地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像一个RDD:
uidProcessedKeywords:org.apache.spark.rdd.RDD [(长,地图[字符串,双])]
我如何扁平化的RDD地图,让这样的:
org.apache.spark.rdd.RDD [(长,字符串,双)
解决方案
VAL X = sc.parallelize(名单((2,地图(A - > 0.2,B - > 0.3))))
x.flatMap {
案例(ID,M)=> m.map {情况下(K,V)=> (ID,K,V)}
}
。搜集()
RES1:数组[(智力,字符串,双)] =阵列((2,,0.2),(2,B,0.3))
I have an an RDD that looks like:
uidProcessedKeywords: org.apache.spark.rdd.RDD[(Long, Map[String,Double])]
How do I flatten the map in the RDD to get this:
org.apache.spark.rdd.RDD[(Long, String, Double)]
解决方案
val x = sc.parallelize(List((2, Map("a" -> 0.2, "b" -> 0.3))))
x.flatMap {
case (id, m) => m.map { case (k, v) => (id, k, v)}
}
.collect()
res1: Array[(Int, String, Double)] = Array((2,a,0.2), (2,b,0.3))
这篇关于在RDD压扁Scala的地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文