最佳答案
如何使用分布式方法、 IPython 和 Spark 找到 RDD整数的中值?RDD大约有700,000个元素,因此太大而无法收集和找到中间值。
这个问题和这个问题很相似。然而,这个问题的答案是使用 Scala,我不知道。
使用 Scala 答案的思路,我尝试用 Python 编写一个类似的答案。
我知道我首先要对 RDD进行排序。我不知道怎么做。我看到了 sortBy(根据给定的 keyfunc对这个 RDD 进行排序)和 sortByKey(对这个假定由(键,值)对组成的 RDD进行排序)方法。我认为两者都使用键值,我的 RDD只有整数元素。
myrdd.sortBy(lambda x: x)?rdd.count())的长度。编辑:
我有个主意。也许我可以索引我的 RDD,然后键 = 索引和值 = 元素。然后我可以尝试按值排序?我不知道这是否可行,因为只有一个 sortByKey方法。