【问题标题】:Hadoop streaming for jobs with multiple arguments具有多个参数的作业的 Hadoop 流式传输
【发布时间】:2012-09-10 17:59:30
【问题描述】:

是否可以将 hadoop 流配置为在运行时为作业读取两个或多个输入参数?

例如,假设我有一个脚本执行为:my_script file1 file2

如何在 hadoop 流中指定这个?

据我所知,我只能指定具有以下执行语法的作业: my_script "fixed_params" "input".

【问题讨论】:

    标签: hadoop hadoop-streaming


    【解决方案1】:

    在流媒体方面工作不多,但我很确定您可以添加另一个 -input 参数。

    另见:Using multiple mapper inputs in one streaming job on hadoop?

    【讨论】:

    • 我不这么认为(我已经试过了,但是失败了)...我的理解是-input用来只指定input-arg。指定多个 -input 参数意味着流作业将考虑映射器的多个输入目录和/或文件,但不像我在 qs.xml 中指定的语法。我认为,流式传输的整个想法是基于将数据管道传输到映射器和缩减器。而且我不确定hadoop如何处理将多个参数传递给脚本。
    • 我不确定你在问什么。你能澄清一下你到底想要完成什么吗?
    • 说,如果我有一个看起来像这样的脚本:arg1=$1; arg2=$2; do_something $arg1 $arg2;现在,我是如何使用 hadoop-streaming 运行这个脚本的。
    • 在这种情况下,您可能需要查看stackoverflow.com/questions/9509063/…
    • 我会尝试这样做,但我觉得这只有在参数不变或驻留在本地文件系统中时才有效。在我的例子中,arg1 和 arg2 是 HDFS 中文件的名称,我必须以某种方式通过 -input arg 指定输入并使 hadoop 流式处理以考虑这两个 args 以执行脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多