AI源码
AI源码AI 精选 · 优质源码 · 助力学习

基于 Hadoop 和 Hive 的旅游景区数据的分析与可视化系统

本系统是一个基于 Python Flask 框架的旅游景区数据分析与可视化平台,采用 SQLite 模拟 Hadoop MapReduce 批处理与 Hive 数仓 SQL 分析流程,对接真实开源景区数据集与文化和旅游统计公报分省数据,提供数据总览、景区检索、多维分析、地图可视化、客流预测、报表导出等功能模块,适用于旅游景区数据分析和客流趋势预测场景。

评分:4.8/5.0
销量:67
发布:2026/6/21
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

基于 Hadoop 和 Hive 的旅游景区数据的分析与可视化系统

项目简介

本系统是一个基于 Python Flask 框架的旅游景区数据分析与可视化平台,采用 SQLite 模拟 Hadoop MapReduce 批处理与 Hive 数仓 SQL 分析流程,对接真实开源景区数据集与文化和旅游统计公报分省数据,提供数据总览、景区检索、多维分析、地图可视化、客流预测、报表导出等功能模块,适用于旅游景区数据分析和客流趋势预测场景。


功能模块

模块功能说明
数据总览展示核心 KPI 指标(景区总数、覆盖省份、游客总量、总收入),各省游客量排名柱状图、景区等级分布饼图、全国月度客流趋势图、热门景区 TOP15 排行表
景区库支持多条件(关键词、省份、等级)组合检索与分页浏览,提供景区详情查看(含月度客流与收入图表)
多维分析年度对比分析(分省游客量双年份柱状对比)、省级统计公报趋势折线图、知名与普通景区占比饼图、Hive 查询日志表
地图可视化基于 ECharts geo 组件的全国景区分布散点图,支持缩放漫游与游客量热力映射
客流预测基于线性回归 + 随机森林融合模型的景区月度客流预测,展示模型评估指标(R²、MAE)与历史同月对比
报表导出支持景区基础数据、客流明细、省级统计三种 Excel 报表导出
ETL/Hadoop管理员专属,模拟 Hadoop MapReduce 四分片批处理与 HiveQL 分析流水线,支持一键执行全部任务、查看 HDFS Reduce 结果与任务历史
系统管理管理员专属,展示用户列表(含注册时间、最后登录)与系统操作日志
用户系统注册、登录、角色权限(admin/user)、操作日志记录

数据来源

所有数据均为真实公开数据集,非 Mock 生成:

数据集文件记录数说明
和风天气全国景区 POIPOI-Scenic-List-latest.csv~2600 条GitHub 开源,含景区名称、省/市、经纬度
马蜂窝知名 5A 景区tourist_attractions.csv~260 条真实 5A 评定年份与坐标
省级旅游统计基准provincial_tourism_stats.base.csv186 行大陆 31 省份 2019-2024 年度份额基准
省级旅游统计校准provincial_tourism_stats.csv204 行经文旅部全国人次校准(2019=60.06亿、2024=56.15亿),含港澳台

数据说明:

  • 景区等级:马蜂窝/关键词匹配为 5A,其余 POI 为未评级(不使用随机或 MD5 伪造)
  • 景区月度客流:按校准后省级总量 + 等级/知名度权重分摊;收入 = 客流 × 门票
  • 满意度:由等级/知名度/季节微调计算,与客流权重解耦
  • 省级统计加总口径为省级接待人次之和,不等于全国去重出游人次

标准版目录结构

python-travel-fenxi/
├── app.py                          # Flask 应用主入口,路由定义与 API 接口
├── config.py                       # 应用配置(数据库路径、密钥、分页参数)
├── requirements.txt                # Python 依赖包清单
├── data/
│   ├── POI-Scenic-List-latest.csv  # 和风天气景区 POI 数据
│   ├── tourist_attractions.csv     # 马蜂窝知名 5A 景区数据
│   ├── provincial_tourism_stats.base.csv  # 省级统计份额基准
│   └── provincial_tourism_stats.csv       # 校准后省级统计
├── database/
│   ├── db.py                       # SQLite 连接管理与会话工具
│   ├── schema.sql                  # 数据库建表脚本
│   └── tourism.db                  # SQLite 数据库文件(自动生成)
├── hadoop_pipeline/
│   ├── mapreduce_visitor_agg.py    # MapReduce 批处理脚本(4 分片 Map → Reduce)
│   └── hdfs_data/                  # 模拟 HDFS 输出目录
│       ├── _SUCCESS                # 任务完成标记
│       ├── map/                    # Map 阶段输出(part-m-00000~00003.json)
│       └── reduce/                 # Reduce 阶段输出(part-r-00000.json)
├── hive_scripts/
│   ├── scenic_analysis.hql         # HiveQL 分析脚本(5 条查询)
│   └── hive_runner.py              # HiveQL 执行器(解析 HQL 并记录日志)
├── scripts/
│   ├── etl_import.py               # ETL 全量导入(CSV → SQLite,含客流分摊)
│   ├── calibrate_provincial_stats.py  # 省级统计校准脚本
│   └── train_visitor_model.py      # 模型训练脚本(LR + RF 融合)
├── services/
│   ├── __init__.py                 # 服务模块导出
│   ├── auth.py                     # 认证与会话管理
│   └── analytics.py                # 数据分析业务逻辑
├── models/
│   └── visitor_forecast.pkl        # 训练完成的模型文件(自动生成)
├── static/
│   ├── css/
│   │   └── main.css                # 自定义样式
│   └── js/
│       ├── app.js                  # 全局工具函数
│       ├── dashboard.js            # 数据总览页
│       ├── scenic.js               # 景区库页
│       ├── scenic_detail.js        # 景区详情页
│       ├── analysis.js             # 多维分析页
│       ├── map.js                  # 地图可视化页
│       ├── prediction.js           # 客流预测页
│       ├── etl.js                  # ETL/Hadoop 页
│       └── admin.js                # 系统管理页
├── templates/
│   ├── base.html                   # 基础模板(导航栏、CDN 引用)
│   ├── login.html                  # 登录页
│   ├── register.html               # 注册页
│   ├── dashboard.html              # 数据总览页
│   ├── scenic_list.html            # 景区库页
│   ├── scenic_detail.html          # 景区详情页
│   ├── analysis.html               # 多维分析页
│   ├── map.html                    # 地图可视化页
│   ├── prediction.html             # 客流预测页
│   ├── reports.html                # 报表导出页
│   ├── etl.html                    # ETL/Hadoop 页
│   └── admin.html                  # 系统管理页
├── tests/
│   └── test_api.py                 # API 集成测试
├── docs/
│   └── CODE_REVIEW.md              # 代码审查报告
├── exports/                        # 报表导出目录(自动生成)
├── logs/                           # 日志目录
├── 运行步骤必看/
│   └── window.md                   # Windows 运行步骤说明
├── mac_run.sh                      # macOS/Linux 一键启动脚本
├── window_run.bat                  # Windows 一键启动脚本
├── 训练手册.md                      # 模型训练手册
└── README.md                       # 项目简介

技术栈

类别技术
后端Python 3.12 + Flask 3.0
数据库SQLite 3
前端HTML5 + Bootstrap 5.3 + ECharts 5.5
机器学习scikit-learn 1.5(线性回归 + 随机森林融合)
数据处理pandas 2.2 + numpy 1.26
模型持久化joblib 1.4
密码安全Werkzeug pbkdf2:sha256

环境要求

项目要求
Python3.12
操作系统Windows / macOS / Linux
内存建议 2GB 以上
磁盘约 500MB(含依赖和数据库)
浏览器Chrome / Firefox / Safari / Edge 现代版本

账号信息

角色用户名密码
管理员adminadmin123

管理员拥有 ETL/Hadoop 和系统管理页面访问权限。新注册用户默认为普通用户角色。

技术分类

包含内容

完整源码
项目说明文档
演示材料

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 67+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

城市交通流量预测与拥堵成因分析系统

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

电商用户行为漏斗与CRO转化率优化分析

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

基于 Python 的短视频用户行为分析系统

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875