原始数据集是:
# (numbersofrating,title,avg_rating)
newRDD =[(3,'monster',4),(4,'minions 3D',5),....]
我想在newRDD中选择前N个平均值。我使用以下代码,它有一个错误。
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
或takeOrdered
与key
参数一起使用:或者
注意
top
按降序接受元素,而takeOrdered
按升序接受元素,因此key
函数在这两种情况下都是不同的。你试过用^{} 吗?考虑到您想要最高的平均值(而且它是元组中的第三个项),您需要使用
lambda
函数将它分配给键。相关问题 更多 >
编程相关推荐