我很难从一个RDD中查找值,其中密钥来自不同的RDD。 我需要将topsuperhero数组[Int]的RDD转换为纯字符串然后我可以传递给namesmap.lookup rdd。
如何将[Int]数组转换为纯字符串?我需要写一个函数吗?
val names = sc.textFile("C:\\Users\\kalit_000\\Desktop\\udemy_spark\\marvelnames.txt")
val namemap = names.map(x => x.split(" ")).map(x => (x(0),x(1)))
val graph = sc.textFile("C:\\Users\\kalit_000\\Desktop\\udemy_spark\\marvelgraph.txt")
val graphmap = graph.map(x => x.split(" ")).map(x => (x(0).toInt,(x.length -1).toInt))
val totalfirendsBycharacter = graphmap.mapValues(x => (x)).reduceByKey((x,y) => x+y)
val topsuperhero = totalfirendsBycharacter.sortBy(_._2,false).take(1)
错误: topsuperhero是我需要转换为纯字符串的数组[Int]我该如何实现呢?
namemap.lookup(topsuperhero.map(x => x._1)).foreach(println)
答案 0 :(得分:1)
要将Array [Int]转换为String,您可以执行以下操作:
val str = topsuperhero.mkString(" ")
这会将topsuperhero
转换为字符串