我刚刚开始学习 Hadoop。我尝试在其上运行一个简单的 mapreduce 作业,但在此之前我尝试在本地进行检查。但它的返回错误。请提出任何解决方案。我正在使用 Ubuntu 12.04 LTS。
所以代码是用 gedit 编写的,并且是广告。
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print '%s\t%s' %(word,1)
然后我在终端中写下下面的命令来检查mapper是否工作正常
maitreyee@bharti-desktop:~$ 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()'
最佳答案
您缺少 shebang脚本顶部的行。添加类似这样的内容(无论哪个 python 对您的机器有意义):
#!/usr/bin/python
这里我使用的是/usr/bin/python
下的系统python
关于python - 在终端本地运行 mapper.py 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27286769/