旅游网站用户行为分析与预测
创建于 2026 年 1 月 1 日
项目介绍
旅游网站用户行为分析与预测系统是一个基于 Spark MLlib 的大数据分析项目,目录为 20260224-基于Spark的旅游网站用户行为分析与预测/tourism-prediction。项目围绕旅游网站访问和购票行为展开,目标是通过数据清洗、特征工程、机器学习预测、用户分群和可视化看板,分析用户是否购票、不同设备和行为路径的差异,以及不同用户群体的转化特征。
项目不是单机 CSV 分析脚本,而是按照 HDFS、Hive、Parquet 和 Spark 的大数据链路组织。原始数据、扩展数据、清洗后数据和模型文件都可以存储在 HDFS 中;清洗结果采用 Parquet 列式格式,读取速度和存储效率都优于 CSV;Hive 外部表用于 SQL 校验和数据仓库链路补充。
项目架构
系统分为数据层、存储层、计算层、服务层和展示层。数据层包含原始 CSV 和生成的扩展数据;存储层使用 HDFS 和 Parquet;计算层使用 Spark SQL 与 Spark MLlib;服务层使用 Flask;展示层通过 ECharts 多页面仪表盘呈现分析结果,并带登录系统和角色入口。
代码结构也比较清晰:src/data_generator.py 负责数据扩展,src/data_cleaner.py 负责 PySpark + Spark SQL 清洗,src/feature_engineering.py 使用 StringIndexer、OneHotEncoder 和组合特征构建模型输入,src/model_training.py 训练逻辑回归、决策树和随机森林模型,并保存指标与特征重要性;KMeans 用于用户分群。Web 端的 web/app.py 会预加载数据并缓存分析结果,保证仪表盘响应速度。
项目默认采用“HDFS + Hive”协同模式:Spark 负责 ETL、特征工程和模型训练,Hive 负责外部表和 SQL 校验。一键脚本 run_one_click.py 在清洗后会创建或刷新 Hive 外部表 tourism.cleaned_data,再执行总样本数、购票率等校验 SQL。
核心功能
- 数据生成与扩展:将原始旅游行为数据扩展到更适合大数据演示的规模。
- Spark SQL 清洗:完成缺失处理、字段规范化、异常过滤和 Parquet 输出。
- 特征工程:使用 StringIndexer、OneHotEncoder 和组合特征处理类别字段与行为特征。
- 购票预测:训练逻辑回归、决策树、随机森林等模型,对用户购票行为进行预测。
- 用户分群:使用 KMeans 聚类识别不同访问偏好和转化倾向的用户群。
- Hive 校验:通过外部表和 SQL 校验清洗结果、样本量和核心比例指标。
- 可视化看板:ECharts 展示概览、趋势、分群、相关性、模型性能和特征重要性。
功能截图



快速上手
项目依赖 Python、Spark、Hadoop/HDFS,可选 Hive。快速体验可查看 快速开始.md;完整部署可参考 本地部署指南.md 和 Docker部署指南.md。通常从配置 config.py 中的 HDFS NameNode 开始,再运行主流程完成数据生成、清洗、特征工程、模型训练和 Web 看板启动。默认数据路径包括 raw、generated、processed 和 models 等目录。
总结
这个项目的价值在于把旅游网站用户行为分析做成了完整的大数据工程链路:HDFS 存储、Parquet 清洗、Hive 校验、Spark MLlib 建模、Flask + ECharts 可视化。它适合作为 Spark 大数据分析、用户行为预测、旅游数据挖掘和毕业设计答辩项目展示。