【问题标题】:Hadoop Streaming Job with no input file没有输入文件的 Hadoop 流作业
【发布时间】:2014-04-02 19:20:00
【问题描述】:

是否可以执行没有输入文件的 Hadoop Streaming 作业?

在我的用例中,我能够使用单个映射器和执行参数为减速器生成必要的记录。目前,我正在使用单行存根输入文件,我想删除此要求。

我们有 2 个用例。
1)

  1. 我想将文件加载从所有节点都可用的网络位置分发到 hdfs。基本上,我将在映射器中运行 ls 并将输出发送到一小组 reducer。
  2. 我们将利用几个不同的参数范围对几个模型进行拟合。模型名称不会更改,并将作为键转到 reducer,同时在映射器中生成要运行的测试列表。

【问题讨论】:

  • 您可能会创建自己的 InputFormat 并玩转。但这是一个有趣的要求。我们能否详细了解您为什么需要 map-reduce 或您正在实施的逻辑是什么?
  • 在用例 1 中 - 您是否基于某个键进行缩减?这本质上是您尝试分发的复制操作吗?
  • @Venkat 本质上是分布式复制操作

标签: hadoop hadoop-streaming


【解决方案1】:

根据docs,这是不可能的。以下是执行所需的参数:

  • 输入目录名或文件名
  • 输出目录名
  • 映射器可执行文件或 JavaClassName
  • reducer 可执行文件或 JavaClassName

目前看来,提供一个虚拟输入文件是可行的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多