python - 在终端本地运行 mapper.py 后出错

标签 python ubuntu hadoop

我刚刚开始学习 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/

相关文章:

python - 如何从元素列表开始进行回归

ubuntu - Gentoo + debootstrap 在与 fakeroot 和 fakechroot 一起使用时失败

python-2.7 - pywebhdfs 模块问题

Hadoop 未利用可用内存

hadoop-streaming.jar 在每行末尾添加 x'09'

python - 通过 POS 打印机和图像打印向外国人开具账单

python - Django:使用数据库功能过滤查询

c++ - 让程序运行缓慢

Android 模拟器在 Ubuntu 20.04 上非常慢

python - Micropython 或最小 python 安装