正确答案是:B: reduceByKeyAndWindow。
分析:
- A: count 是对DStream中的元素进行计数操作,不涉及按键K聚合。
- B: reduceByKeyAndWindow 是对DStream[(K,V)]中相同键K的值V进行窗口化的聚合操作。它允许用户定义一个窗口的长度和滑动间隔,并在每个窗口内对相同键的值进行聚合。这正是题目中所描述的“基于窗口将DStream[(K,V)]中的值V按键K使用聚合函数func聚合得到新的DStream”的操作。
- C: countByValue 是对DStream中的每个值进行计数操作,不涉及按键K的聚合。
- D: reduceByKey 是对DStream[(K,V)]中相同键K的值V进行聚合,但不涉及窗口操作。因此,不完全符合题目中“基于窗口”的要求。
因此,B: reduceByKeyAndWindow 是唯一符合题目要求的操作。