JavaPairDStream print()函数不打印

时间:2016-06-02 17:30:41

标签: apache-spark

我使用套接字流作为输入流,然后执行map并reduce。

SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount");
JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(2));
JavaReceiverInputDStream<String> logMessage = jssc.socketTextStream("localhost", 8999);
JavaDStream<Log> logs = logMessage.flatMap(); //function is omitted
JavaPairDStream<String, Integer> pairByTime0 = logs.mapToPair();//function is omitted
JavaPairDStream<String, Integer> r = pairByTime0 .reduceByKey();//function is omitted
ds.print();
jssc.start();              
jssc.awaitTermination();   

我试图跟踪flagMap并确保输入正确。 我知道每2s火花都可以完成工作并打印结果,但为什么打印不起作用。我看不到任何结果。 Here is the log image

更新:实际上上面的代码有效,问题出在我的客户端程序中,它将流发送到spark。

1 个答案:

答案 0 :(得分:-1)

Spark操作很懒散。您必须调用操作才能获得结果。这就是省略mapToPair,flatMap和reduceByKey的原因。