Python Hadoop流-意外参数
我试图在cloudera hadoop上执行下面的命令,但它遇到了问题,我收到了错误消息。Python Hadoop流-意外参数,python,hadoop,mapreduce,hadoop-streaming,Python,Hadoop,Mapreduce,Hadoop Streaming,我试图在cloudera hadoop上执行下面的命令,但它遇到了问题,我收到了错误消息。 不确定是错误还是我做错了什么。 如有任何信息,将不胜感激 hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -files /home/cloudera/mapper.py /home/cloudera/reducer.py -mapper "python mapper.py" -reducer "python reducer.py" -i
不确定是错误还是我做错了什么。
如有任何信息,将不胜感激
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -files /home/cloudera/mapper.py /home/cloudera/reducer.py -mapper "python mapper.py" -reducer "python reducer.py" -input /user/cloudera/test_file -output /user/cloudera/wc_output01
错误消息:
在命令行[/home/cloudera/reducer.py]上发现1个意外参数请尝试-帮助以获取更多信息 流式处理命令失败
解决了这个问题。我使用了创建问题的-文件。早些时候我使用了-file,但控制台给出了警告“不推荐使用,将-files用作通用选项”。但这并没有解决问题,所以我恢复了-file选项,它运行时给出了相同的警告。解决了问题。我使用了创建问题的-文件。早些时候我使用了-file,但控制台给出了警告“不推荐使用,将-files用作通用选项”。但这并没有解决问题,所以我恢复了-file选项,它运行时给出了相同的警告。您可以通过 -files和-archives选项是通用选项。确保将常规选项放在命令选项之前,否则命令将失败 你正确地放置了论点,所以这不是问题所在 可以按如下方式指定多个条目:
-文件hdfs://host:fs_port/user/testfile1.txt,hdfs://host:fs_port/user/testfile2.txt
映射器文件和reducer文件之间没有逗号
如果文件是可执行的,并且以
开头,则可以传递mapper.py
/usr/bin/env python
您可以通过
-files和-archives选项是通用选项。确保将常规选项放在命令选项之前,否则命令将失败
你正确地放置了论点,所以这不是问题所在
可以按如下方式指定多个条目:
-文件hdfs://host:fs_port/user/testfile1.txt,hdfs://host:fs_port/user/testfile2.txt
映射器文件和reducer文件之间没有逗号
如果文件是可执行的,并且以
开头,则可以传递mapper.py
/usr/bin/env python