我不太明白以下代码中 lambda 的行为:
rdd = sc.parallelize([5,3,1,2)]
rdd.takeOrdered(3,lambda s: -1*s)
据我所知,lambda 对列表中的所有元素应用了一个操作,所以我希望上面的代码能够返回
[-1,-2,-3]
但它回来了
[5,3,2]
我在这里错过了什么?
请您参考如下方法:
https://spark.apache.org/docs/1.1.1/api/python/pyspark.rdd.RDD-class.html
takeOrdered(self, num, key=None) Get the N elements from a RDD ordered in ascending order or as specified by the optional key function.
因此在您的示例中,您提供了一个订购功能。
