我有一个具有以下(键,值)格式的 RDD:
[((u'en', 1),[('term1', 2),('term2', 8),('term3', 6))]
如前所述,value
是元组列表:(term,count)
我试图使用以下值对 rdd 进行排序:
.map(lambda (a,b): (b,a)).sortByKey(False).map(lambda (a,b): (b,a))
但是它产生了由term
和count
排序的 RDD
问题是如何用count
对 RDD 进行排序,只产生以下内容:
[((u'en', 1),[('term2', 8),('term3', 6),('term1', 2))]
2 回答
假设您的 RDD 由键,值对组成,其中键本身是一个元组,而值是一个元组列表,并且您只希望对该元组列表进行排序:
如果要通过键元组(
('en', 2)
中的 2)的计数进一步对结果进行排序,可以执行以下操作:我不确定是否完全理解您的问题,但是我认为您想使用每个
tuple
的第二个值对List
进行排序,这是每个RDD
条目的值。您可以找到其他方式对
list
s 用 Python 排序列表进行排序。