2016-03-14 70 views
2

我需要使用Java來檢索DStream中的元素數量。閱讀文檔,我已經這樣做了以下內容:Apache Spark DStream中的計數元素

JavaDStream<Object> stream; 

stream.count() 

它返回一個對象DSTREAM,而不是一個數量

我怎樣才能在DSTREAM元素的含量?我在測試套件中需要它

回答

1

你不能。 DStream表示RDD的無限序列,因此詢問元素的總數並沒有意義。

您可以添加有狀態的操作,它將跟蹤值的數量並通過窗口更新它,但它不同於通過流請求計數。您可以檢查MapWithStateSuite以瞭解如何執行測試狀態。

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