本节使用Flume、Kafka、Structured Streaming、MySQL对用户行为日志数据流进行实时分析,并最终通过可视化图表展示。
项目实时处理工作流程
回顾图前面的系统数据流架构设计,数据的流转首先由Flume收集并转发到Kafka中,然后由Spark Streaming(此处使用Structured Streaming)实时从Kafka中读取数据并计算结果,将结果实时写入MySQL中。
因此要想实现整个系统的不停运转,需要有源源不断的数据流向该系统。接下来使用Java编写一个模拟程序,从前面已经预处理好的实验数据(SogouQ.reduced文件)中不间断的读取数据,存储到指定的日志文件(user_behavior_info文件),该日志文件则作为初始的用户行为日志数据文件。整个实时处理的详细流程如图