Spark 选择 RDD 中的最高值

2024-03-29

原始数据集是:

# (numbersofrating,title,avg_rating)
newRDD =[(3,'monster',4),(4,'minions 3D',5),....] 

我想在newRDD中选择前N个avg_ ratings。我使用以下代码,它有一个错误。

selectnewRDD = (newRDD.map(x, key =lambda x: x[2]).sortBy(......))

TypeError: map() takes no keyword arguments

预期数据应该是:

# (numbersofrating,title,avg_rating)
selectnewRDD =[(4,'minions 3D',5),(3,'monster',4)....] 

您可以使用top or takeOrdered with key争论:

newRDD.top(2, key=lambda x: x[2])

or

newRDD.takeOrdered(2, key=lambda x: -x[2])

注意top按降序排列元素并且takeOrdered上升所以key两种情况下的功能不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark 选择 RDD 中的最高值 的相关文章

随机推荐