如何在pyspark中排序多个值

时间:2015-10-16 04:43:30

标签: python-2.7 lambda apache-spark pyspark

我正在玩Spark。我在spark中尝试了一些带有一些示例数据的sortBy函数

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)

1 个答案:

答案 0 :(得分:0)

你试过吗,

extern int a;

sc.parallelize(tmp).sortBy(lambda (x, y): (y, x)).collect()是一个函数调用,在Python中有2个参数。