Spark大数据分析实战【1.3】

张开发
2026/6/20 22:33:07 15 分钟阅读
Spark大数据分析实战【1.3】
5.2 系统架构通过图5-5,用户可以了解到推荐系统在整个数据分析产品中所处位置。推荐系统是需要搭配用户日志的收集与存储的系统协调运行的。整个系统运行架构中,用户通过访问应用,应用记录用户的访问行为,并通过日志系统将用户日志进行收集与预处理,最后将日志存储在持久化存储中。之后推荐系统通过读取用户行为日志,提取特征,针对用户进行个性化的商品推荐。通过图5-6可以看到整个实时日志收集与处理模块所包含的各个模块,以及各个模块所使用的技术。现有的数据分析流水线包含以下几个部分。(1)数据收集聚合图5-7展示数据收集与聚合模块,以及各个部分的技术构成。Spark Streaming从Azure Queue收集数据:通过自定义Spark Streaming的接收器,源源不断消费Azure Queue中的流式数据。(2)数据处理Spark Streaming处理分析用户行为日志数据。例如,可以通过实时聚集,统计报表现有的应用的运营信息,也可以通过离线训练的模型,对实时数据进行预测和标注等。(3)结果输出·Azure Blob(HDFS):预处理后的日志输出到Azure Blob。·Azure Queue:接收的实时数据或者需要继续下游流水线处理的中间结果存储到Azure Queue,下游由Spark Streaming进行进一步的处理和分析。·Azure Table:统计度量的数据结果,这些结果为后续进行数据报表或者可视化工具所使用。5.3 构建Node.js应用用户的行为日志主要来自于用户访问的Web应用,首先构建一个Node.js应用,这样就能够通过应用支撑业务,获取到用户行为日志,更好地调整应用支撑业务。5.4 数据收集与预处理本章构建的推荐系统的日志数据就是来源于用户在访问用户时的点击日志和其他信息。如何获取用户的点击日志?获取的点击日志后端如何存储和处理?下面的章节将进行介绍。5.5 Spark Streaming实时分析用户日志5.5.1 构建Azure Queue的Spark Streaming ReceiverHDInsight是Azure上的大数据服务,用户可以通过部署Spark在HDInsight之上进行数据的读取与处理。用户可以参照文档:https://hdiconfigactions.blob.core.windows.net/sparkconfigactionv03/spark-installer-v03.ps1构建Azure之上的Spark服务。·继承Receiver类,自定义针对Azure Queue的Spark Streaming数据接收器类。·创建onStart方法,添加启动前预处理逻辑。·创建onStop方法,添加停止后清理逻辑。·创建receive方法,进行接收Azure Queue数据并转化为Spark Streaming可以处理的数据格式。以下是具体实现:

更多文章