2014-12-04 106 views
0

我剛開始學習Hadoop。我試圖在其上運行一個簡單的mapreduce作業,但在此之前我試圖在本地檢查它。但它返回的錯誤。請提出任何解決方案。我正在使用Ubuntu 12.04 LTS。在終端本地運行mapper.py後出現錯誤

所以代碼是用gedit寫的,後面是ad。

import sys 

    for line in sys.stdin: 

    line = line.strip() 

    words = line.split() 

    for word in words: 

     print '%s\t%s' %(word,1) 

然後我寫在終端下面的命令檢查映射器工作正常

[email protected]:~$ echo "foo faa" | /home/maitreyee/Documents/mapper.py 

和終端返回以下錯誤:

/home/maitreyee/Documents/mapper.py: line 1: import: command not found 
/home/maitreyee/Documents/mapper.py: line 5: syntax error near unexpected token `line' 
/home/maitreyee/Documents/mapper.py: line 5: `line = line.strip()' 

回答

1

你缺少shebang線在腳本的頂部。加入這樣的事情(無論蟒蛇是有道理的,你的機器):

#!/usr/bin/python 

這裏我用的系統蟒蛇下/usr/bin/python

+0

感謝它的工作。 – user3753567 2014-12-04 05:46:43

+0

你能接受這種情況下的答案嗎?謝謝! – vikramls 2014-12-04 06:46:58

0

需要的家當行,因爲你有好幾個版本的安裝Python,在/ usr/bin/env將確保所使用的解釋器是您環境的$ PATH中的第一個解釋器。

如果您想了解更多有關在python中編寫縮減地圖代碼的信息,您可以按照這個 tutorial

相關問題