Apache Spark WordCount方法不排序数据

时间:2016-06-27 09:53:22

标签: scala apache-spark

 def wordCount(dataSet: RDD[String]): Map[String, Int] = {
    val counts = dataSet.flatMap(line => line.split(","))
        .map(word => (word, 1))
        .reduceByKey(_ + _)
        .sortBy(_._2, ascending = false)
        counts.collectAsMap()  
 }

此方法未将最终结果排序为预期

.sortBy(_._2, ascending = false)

此方法的输出将按降序排列,但输出仍然是随机的 任何理由或解决方案?

1 个答案:

答案 0 :(得分:0)

方法collectAsMap()在内部创建一个值为的HashMap,在这种情况下不会被排序。对排序值使用collect或takeOrdered。