Java Spark Streaming:Rdd.Count()未返回有效数字
在我的应用程序中,我有两个JavadStream,其中包含一些数据。我试图计算每个JavaDStream中的行数,但是我在日志中收到的结果不是一个数字,而是一个输出到日志的完全不同的对象。我做错了什么 代码:Java Spark Streaming:Rdd.Count()未返回有效数字,java,apache-spark,spark-streaming,Java,Apache Spark,Spark Streaming,在我的应用程序中,我有两个JavadStream,其中包含一些数据。我试图计算每个JavaDStream中的行数,但是我在日志中收到的结果不是一个数字,而是一个输出到日志的完全不同的对象。我做错了什么 代码: DStream不是一个RDD,而是一个连续且可能无限的RDD序列。正因为如此,它无法计数,也不是count方法的工作方式 相反,它将现有流转换为另一个流,其中每个RDD 通过计算此数据流的每个RDD生成一个元素 如果要对单个RDD执行某些操作,应使用foreachRDD //map sco
DStream
不是一个RDD
,而是一个连续且可能无限的RDD序列。正因为如此,它无法计数,也不是count
方法的工作方式
相反,它将现有流转换为另一个流,其中每个RDD
通过计算此数据流的每个RDD生成一个元素
如果要对单个RDD执行某些操作,应使用foreachRDD
//map score result set to tweets
JavaDStream<Tuple5<Long, String, Float, Float, String>> result =
scoredTweets.map(new ScoreTweetsFunction());
//get extra elements
JavaDStream<Tuple7<Long, String, String, String, String, String, String>> extra_elements =
json.map(new GetExtraElements());
//join elements with score result
System.out.println("Number of Rows in extra elements RDD: " + extra_elements.count());
System.out.println("Number of Rows in result RDD: " + result.count());