0
我无法获取int和字符串数组中的顶部单词。scala Spark获取阵列中每行的顶部单词
请参阅下面的数组和要求的输出: 考虑n是一个RDD并建议我获取输出的必需函数。
scala> n.take(10)
res3: Array[(Int, String)] = Array((4,Hi how are you ,how), (2,hello good good to hear good))
O/P:阵列((4,如何),(2,好))//如何在IST行顶端Word ..好的是在第二排的顶部字。
我们可以使用下面的代码来获得唯一最强的词,但我想在每一行中我想获得最高的单词。
val msg = n.map{case(val1, val2) => (val2).mkString("")}
val words =msg.flatMap(x => x.split(" "))
val result = words.map(x => (x, 1)).reduceByKey((x, y) => x + y)
val sortReuslts=result.sortBy(x => (-x._2,x._1))
谢谢:)
谢谢@ Shyamendra Solanki非常有帮助...只是一个简单的问题如果我想要顶级N温度,我应该使用WHCIH方法,我试着用..拿(n)它没有给..请建议我..再次感谢您的快速响应:) – MapReddy 2015-02-10 18:16:16
@MapReddy如果您需要排名前N的词,在'sortBy'之后用'take(N)'替换'head',假设每个字符串至少有N个不同的词。 – 2015-02-11 13:05:34
谢谢 - @ Shyamendra Solanki – MapReddy 2015-02-13 09:22:32