Contagem de palavras acumuladas do Streaming Spark

Este é um programa de streaming de faísca escrito em scala. Conta o número de palavras de um soquete a cada 1 segundo. O resultado seria a contagem de palavras, por exemplo, a contagem de palavras do tempo de 0 a 1, e a contagem de palavras do tempo de 1 a 2. Mas eu me pergunto se há alguma maneira de alterar esse programa para que possamos acumular contagem de palavras? Ou seja, a contagem de palavras do tempo 0 até agora.

val sparkConf = new SparkConf().setAppName("NetworkWordCount")
val ssc = new StreamingContext(sparkConf, Seconds(1))

// Create a socket stream on target ip:port and count the
// words in input stream of \n delimited text (eg. generated by 'nc')
// Note that no duplication in storage level only for running locally.
// Replication necessary in distributed scenario for fault tolerance.
val lines = ssc.socketTextStream(args(0), args(1).toInt, StorageLevel.MEMORY_AND_DISK_SER)
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
ssc.awaitTermination()