本次实战基于 Spark Streaming 的 DStream 编程模型,系统演示了实时数据流的转换、窗口计算及持久化存储全流程。
首先,通过 transform 算子突破 DStream API 限制,直接对底层 RDD 执行 flatMap 操作,实现了灵活的单词拆分。其次,利用 window 及 reduceByKeyAndWindow 算子构建了滑动窗口机制(如 3 秒窗口/1 秒滑动),成功观测了数据随时间推移的累积与淘汰过程,验证了流式统计的时效性。
最后,实战重点展示了两种输出方式:一是调用 saveAsTextFiles 将词频统计结果按批次写入 HDFS,体现了微批处理的文件生成特性;二是结合 JDBC 与 ON DUPLICATE KEY UPDATE 语法,将 60 秒窗口内的 Top3 热门词汇实时聚合并写入 MySQL。该过程不仅实现了数据的"有则更新、无则插入",还通过批量事务处理保证了写入性能,完整验证了 Spark Streaming 在实时热词统计场景下的微批次处理逻辑与端到端数据落地能力。

