hadoop流通过可运行的jar不会产生任何输出

5cg8jx4n  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(191)

我试图通过一个现有的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-文件“myapp.jar”-numreducetasks 0-输入“input.txt”-输出“myout.txt”-Map器“java-jar myapp.jar”
作业成功,但是myout.txt/part-*文件都是空的。从stdin读取数据没有任何帮助,这在python和perl中都可以工作,或者使用带有map函数的javaapi。在jar里流淌或打印有什么特别的地方吗 System.out.println ?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题