2015-10-16 54 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個參數的函數調用。

相關問題