2016-05-01 12 views
-1

私はPythonのタプルWTH作業と私は整数としてタプルの最初のキーでソートする私のMapReduceジョブを構成するにはどうすればよいMapReduceのソート

(1,value1) 
(2,value2) 
(3,value3) 
... 
(100,value100) 

のように見えるテキストファイルを持っています?

私の仕事を削減するには、タプルのソートされたリストを出力する必要があるので、括弧とカンマをタブで置き換えたくないです。それはタプルに変換するのに苦労するでしょう。

私は、次のパラメータを使用してのbashからの私のHadoopジョブを実行している:自分の価値観は、あなたが削除/変換作業を避けるためにeval機能を使用することができ整数である場合

hadoop jar /usr/local/Cellar/hadoop/2.*/libexec/share/hadoop/tools/lib/hadoop-streaming-2*.jar 
-D mapreduce.job.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator 
-D mapreduce.partition.keycomparator.options=-n 
-reducer reducer.py 
-input tuples.txt 
-output sortedtuples 

おかげ

+0

map-reduce-styleジョブは、何百万もの方法でPythonで実行できます。あなたはどうやって走っていますか?これは火花ですか? – gnicholas

+0

が追加されました。編集した質問を見る – Jack

答えて

1

f = open('sourceFile.txt') 
L = f.readlines() 
f.close() 
MyList = sorted(map(eval,L) , key=lambda x: x[0])