首页 > 解决方案 > Scala 在结果中重复排序

问题描述

我有一个包含“客户”、“花费金额”的 RDD。我正在尝试按“Amt Spent”进行简单的排序。当我查看结果时,我看到多个排序发生。

从结果中可以看出,前 5 个条目按 Amt 花费排序,然后再次发生排序。这里可能是什么问题?

标签: scalaapache-spark

解决方案


问题不在于 sorted 确实有效,而是您在RDDprintln()上调用了inside a - 该操作是在所有分区上并行执行的。 而且,在真正的集群上(不是在本地开发环境中),您甚至不会看到打印的行,因为这些会发生在执行程序的JVMs上。foreach

RDD已排序,但如果您不想相信我(会很聪明),那么您可以collect它们的顺序)foreach


推荐阅读