2014-12-04 2 views
0

Я только что начал изучать Hadoop. Я попытался запустить на нем простую работу по созданию mapreduce, но до этого я попытался проверить ее локально. Но его возвращающая ошибка. Просьба предложить любое решение. Я использую Ubuntu 12.04 LTS.Ошибка после запуска mapper.py локально в терминале

ТАК код написан в gedit, и это объявление следует.

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

+0

Можете ли вы принять ответ в этом случае? Благодаря! – vikramls

0

притон линия необходима, потому что у вас есть несколько версий установленных Python,/USR/bin/env гарантирует, что используемый интерпретатор будет первым в $ PATH вашей среды.

Если вы хотите больше узнать о написании кода уменьшения кода в python, вы можете следовать этому tutorial!