2017-06-14 64 views
1

我有一個簡單的Spark Streaming應用程序。 我與JavaPairDStreams一起工作。我想知道是否有可能獲得最後批量的大小。我需要它來完成我在JavaPairDStream的每個Tuple2上執行的操作。 JavaPairDStream.count()方法不起作用,因爲它只是返回一個長的JavaDStream,而我只需要最後一批的大小。JavaPairDStream中的最新批量大小

預先感謝您。

回答

2

您需要訪問基礎rdd並對其進行計數。

dstream.foreachRDD(rdd -> 
    long batchSize = rdd.count(); 
    ... 
) 
+0

這將返回給我所有的批處理大小,我如何才能針對我需要的一個(最後一個)? – sirdan

+0

Spark Streaming中沒有「第一個」或「最後一個」,只有「當前」。這將使您可以訪問當前(最新)批處理大小。 – maasg

+0

好的。但我認爲foreachRDD適用於所有的RDD。 – sirdan