【问题标题】:Hadoop Streaming - Too many input paramsHadoop Streaming - 输入参数过多
【发布时间】:2016-05-08 18:54:15
【问题描述】:

我正在通过 hadoop 流运行 map reduce 作业,但它给了我一个错误“参数太多”。问题在于我在输入参数中传递了 1500 多个目录的输入。我无法减少输入文件的数量。

任何建议。

【问题讨论】:

  • 你确定它有 1500 个目录吗?符合条件的输入数量应该是 INTEGER.MAX(在 java 中),这将是一个非常大的数字(2^31 -1)。这来自hadoop流jar的源代码——StreamJob.java。你能分享完整的错误细节吗?
  • 好吧,我正在使用 hadoop 流,它抱怨命令行参数的数量。
  • Swapnil - 您能否分享更多详细信息,例如确切的命令和确切的错误消息。
  • hadoop streamjar -input dira,dirb,dirc.........
  • 多个输入的格式为:hadoop jar hadoop-streaming.jar -input '/user/foo/dir1' -input '/user/foo/dir2' ...

标签: hadoop mapreduce hadoop-streaming


【解决方案1】:

您始终可以使用通配符来选择许多文件,而无需明确列出它们。

【讨论】:

  • 这些文件来自不同的目录,我已经在使用通配符从这些目录中获取文件。所以我宁愿说我有 1500 个不同的目录,然后在这些目录中有多个文件。
  • 我明白了 - 你可以为多个目录使用通配符吗?
  • 不,我不能。我正在寻找任何可以将超过 1000 个参数作为输入参数的覆盖属性。否则我将不得不将目录列表拆分为 2 并运行两次 MR 作业
猜你喜欢
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2016-06-28
相关资源
最近更新 更多