最佳答案
如何使用分布式方法、 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
方法。