计算 Apache Spark DStream 中的元素

Count Elements Inside Apache Spark DStream

我需要使用 Java 检索 DStream 中的元素数量。阅读文档我做了类似以下的事情:

JavaDStream<Object> stream;

stream.count()

它return一个DStream对象而不是一个数字

如何获取DStream中的元素数量?我在测试套件中需要它

你不能。 DStream表示RDD的无限序列所以问元素总数其实意义不大。

您可以添加有状态操作,它会跟踪值的数量并通过 window 更新它,但这与请求对流进行计数不同。您可以检查 MapWithStateSuite 以了解如何实现测试状态。

val count =topNUrl.foreachRDD { rdd => 
                      rdd.count()
}