Hadoop从标准输入流中读取

时间:2011-07-27 07:31:59

标签: hadoop mapreduce stdin

我希望我的MapReduce程序从标准输入流(System.in)读取 例如,在run()方法中,如何从System.in读取程序而不是像this..FileInputFormat.addInputPath(job,new Path(“dummy.txt”));

这样的文件。

我还应该为job.setInputFormat(...)

设置什么类

2 个答案:

答案 0 :(得分:2)

使用Hadoop Streaming执行此操作:

http://wiki.apache.org/hadoop/HadoopStreaming

支持stdin,stdout

答案 1 :(得分:0)

我没有在hadoop中看到这样的InputFormat。可能你不得不经常在某个地方编写System.in并在保存的内容eveytime上运行hadoop作业。

使用hadoop处理连续生成/填充的日志文件时,这种情况很常见。在这种用例中,明智的做法是每天或每周获取日志文件,并在获得后运行hadoop作业。