【问题标题】:Hadoop streaming - unexpected argumentHadoop 流式处理 - 出乎意料的争论
【发布时间】:2018-02-06 10:24:19
【问题描述】:

我正在尝试在 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

错误信息:

在命令行中发现 1 个意外参数 [/home/cloudera/reducer.py]
尝试 -help 以获取更多信息 流式传输命令失败!

【问题讨论】:

    标签: python hadoop mapreduce hadoop-streaming


    【解决方案1】:

    您可以通过reading the documentation了解错误

    -files 和 -archives 选项是通用选项。确保将通用选项放在命令选项之前,否则命令会失败。

    您正确放置了参数,所以这不是问题

    可以像这样指定多个条目:

    -files hdfs://host:fs_port/user/testfile1.txt,hdfs://host:fs_port/user/testfile2.txt

    mapper 和 reducer 文件之间没有逗号


    如果文件是可执行的并且以#!/usr/bin/env python开头,你可以只传递mapper.py

    【讨论】:

      【解决方案2】:

      想通了这个问题。我使用了正在创建问题的 -files。早些时候我使用过 -file 但控制台给出了警告'不推荐使用,使用 -files 作为通用选项'。但这并没有解决问题,所以我恢复到 -file 选项,它运行时给出了相同的警告。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-17
        相关资源
        最近更新 更多