没有输入文件的Hadoop Streaming作业

3

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

在我的用例中,我可以通过一个单独的mapper和执行参数为reducer生成必要的记录。目前,我正在使用一个带有一行的桩输入文件,我想删除这个要求。

我们有两个用例。
1)

  1. 我想从所有节点可用的网络位置分发加载到hdfs的文件。基本上,我将在mapper中运行ls并将输出发送到一小组reducers。
  2. 我们将运行适合于多个不同参数范围的几个模型。模型名称不会更改,并作为键传递给reducer,而要运行的测试列表在mapper中生成。

你可以尝试自己创建自己的InputFormat并进行调试。但这是一个有趣的需求。我们能否了解更多关于为什么需要map-reduce或者你正在实现的逻辑的细节? - Venkat
在使用案例1中,您是根据某个关键字进行缩减吗?这实质上是您试图分发的一个复制操作吗? - Venkat
@Venkat 这实质上是一个分布式复制操作。 - Don Albrecht
1个回答

1
根据文档,这是不可能的。以下是执行所需的必要参数:
- 输入目录名或文件名 - 输出目录名 - 映射器可执行文件或Java类名 - 减速器可执行文件或Java类名
目前看来,提供一个虚拟输入文件是目前的解决方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接