2017-05-06 138 views
1

我正在用python編寫map reduce程序。映射器工作時,我用它運行完美的罰款 -輸入記錄不匹配python mapreduce中的輸出記錄

cat input.csv|python mapper.py > output.tsv 

但是,當我使用下面的命令運行它,我沒有得到期望的輸出 -

nohup hadoop jar /opt/mapr/hadoop/hadoop-2.7.0/share/hadoop/tools/lib/hadoop-streaming-2.7.0-mapr-1607.jar -Dmapreduce.job.queuename=queue_name -Dmapred.map.tasks=1000 -Dmapred.reduce.tasks=0 -input /path/sample_reduce.csv -output /path/map_output -mapper "mapper_try.py" -reducer NONE -file mapper_try.py > mapp_try2.out & 

上面說的是工作已成功完成,但我還得到以下內容 -

Map-Reduce Framework 
      Map input records=1096 
      Map output records=92 
      Input split bytes=122610 
      Spilled Records=0 
      Failed Shuffles=0 
      Merged Map outputs=0 
      GC time elapsed (ms)=0 
      CPU time spent (ms)=840560 
      Physical memory (bytes) snapshot=353314721792 
      Virtual memory (bytes) snapshot=4310996582400 
      Total committed heap usage (bytes)=2036214005760 

我無法解決輸入記錄與輸出記錄不匹配的問題。輸出文件全部創建,92個文件各有1行,其他文件爲空。請求幫助。在此先感謝...

回答

0

試試這個:的

-mapper "python /path/to/mapper_try.py" 

代替:

-mapper "mapper_try.py" 
+0

試過了,沒有成功 –