是否可以执行没有输入文件的 Hadoop Streaming 作业?
在我的用例中,我能够使用单个映射器和执行参数为 reducer 生成必要的记录。目前,我使用的是单行 stub 输入文件,我想删除此要求。
我们有 2 个用例。
1)
- 我想将文件加载从所有节点可用的网络位置分发到 hdfs。基本上,我将在映射器中运行 ls 并将输出发送到一小组缩减器。
- 我们将针对多个模型利用多个不同的参数范围进行拟合。模型名称不会更改,并将作为键进入 reducer,同时在映射器中生成要运行的测试列表。
最佳答案
根据docs这是不可能的。以下是执行需要的参数:
- 输入目录名或文件名
- 输出目录名
- 映射器可执行文件或 JavaClassName
- reducer 可执行文件或 JavaClassName
目前看来提供一个虚拟输入文件是可行的方法。
关于没有输入文件的 Hadoop 流作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22821005/