Tag: 中间

如何使用Sparkfind中位数和分位数

我怎样才能find使用分布式方法,IPython和Spark整数RDD的中位数? RDD大约有70万个元素,因此太大而无法收集和find中位数。 这个问题类似于这个问题。 但是,问题的答案是使用我不知道的Scala。 我如何用Apache Spark计算确切的中位数? 使用Scala的思考答案,我试图用Python编写一个类似的答案。 我知道我首先要对RDD进行sorting。 我不知道怎么。 我看到sortBy (通过给定的keyfunc对此RDD进行sorting)和sortByKey (对此RDDsorting,假定它由(键,值)对组成)方法。 我认为这两个使用键值,我的RDD只有整数元素。 首先,我正在考虑做myrdd.sortBy(lambda x: x) ? 接下来我会findrdd( rdd.count() )的长度。 最后,我想在rdd的中心find元素或2个元素。 我也需要这个方法的帮助。 编辑: 我有一个想法。 也许我可以索引我的RDD ,然后key = index和value = element。 然后我可以尝试按价值sorting? 我不知道这是否可能,因为只有一个sortByKey方法。