Я играю со Спарком. Я попробовал функцию 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)