我正在尝试在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" -input /user/cloudera/test_file -output /user/cloudera/wc_output01
错误消息:
在命令行[/home/cloudera/reducer.py]上找到1个意外的参数 尝试-help获取更多信息 流命令失败!
答案 0 :(得分:2)
您可以通过reading the documentation
了解错误-files和-archives选项是通用选项。确保在命令选项之前放置通用选项,否则命令将失败。
您正确地放置了参数,因此不是问题
可以像这样指定多个条目:
-files hdfs://host:fs_port/user/testfile1.txt,hdfs://host:fs_port/user/testfile2.txt
mapper和reducer文件之间没有逗号
如果文件是可执行文件并且以mapper.py
#!/usr/bin/env python
答案 1 :(得分:0)
想出了这个问题。我使用了-files创造了问题。之前我曾使用过-file但是控制台发出了警告'弃用,使用-files作为通用选项'。但是这并没有解决问题,所以我恢复了-file选项,它运行同样的警告。