通过Runnable Jar的Hadoop Streaming不会产生任何输出

时间:2012-10-18 20:14:45

标签: hadoop hadoop-streaming

我正在尝试通过现有的Java应用程序传输数据,并且作为测试只是创建了一个可运行的jar来打印到stdout:

public class Myapp {
    public static void main(String[] args) {

        for (int i=0;i<100;i++){
            System.out.println(i);
        }
    }
}

创建jar后我可以这样做:

> java -jar  myapp.jar a b < input.txt > myout1.txt

和myout1.txt充满了数据。当我使用

在hadoop中运行它时
  

hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.0.0-mr1-cdh4.0.1.jar -file'myapp.jar'-numReduceTasks 0 -input“input。 txt“-output”myout.txt“-mapper”java -jar myapp.jar“

作业成功,但myout.txt / part- *文件都是空的。从stdin读取数据没有帮助,这适用于Python和Perl,或者使用带有map函数的java API。关于通过jar传输或使用System.out.println打印有什么特别之处吗?

0 个答案:

没有答案