2015-10-16 97 views
1

我正在玩Spark。我试着在火花sortBy功能与一些样本数据如何在pyspark中对多个值进行排序

tmp = [('e', 1), ('b', 2), ('1', 3), ('d', 4), ('2', 5),('a',1)] 
sc.parallelize(tmp).sortBy(lambda (x,y): y).collect() 

能正常工作和排序由键值对的整数值。排序整数后按键排序需要什么?

sc.parallelize(tmp).sortBy(lambda (x,y): y,x).collect() 

说x未定义。

所需的输出

('a', 1),('e',1) ('b', 2), ('1', 3), ('d', 4), ('2', 5) 
+0

是的,做到了。请提及此作为答案 – mhn

回答

0

您是否尝试过,

sc.parallelize(tmp).sortBy(lambda (x, y): (y, x)).collect()

sortBy(lambda (x, y): y, x)是一个在Python中带有2个参数的函数调用。

相关问题