add
This commit is contained in:
parent
1d22d04cd7
commit
193ef81993
201
README.md
201
README.md
@ -1,3 +1,200 @@
|
||||
# bigdata-highway-analytics
|
||||
# 全国交通脉络数据可视化分析
|
||||
|
||||
高速公路智能交通分析
|
||||
## 📋 项目简介
|
||||
|
||||
基于 Flask + MySQL 的高速公路智能交通分析系统,集成可视化展。系统通过Mock技术获取交通数据,运用大数据技术进行数据分析,并提供直观的数据可视化界面。
|
||||
|
||||
## ✨ 主要功能
|
||||
|
||||
### 📊 大数据架构
|
||||
- **Hadoop**:使用Hadoop进行存储原始数据
|
||||
- **Sqoop**:使用Sqoop将Mysql数据导入到Hive中
|
||||
- **Hive**:使用Hive SQL进行数据分析
|
||||
- **Flask**:将分析后的数据进行接口调用和编写Echarts可视化展示
|
||||
|
||||
### 🗺️ 大数据流程
|
||||
- Python Mock数据
|
||||
- MySQL存储原始数据
|
||||
- Sqoop数据转换
|
||||
- Hdfs数据存储
|
||||
- Hive映射Hdfs数据并进行数据分析
|
||||
- Spark读取Hive将数据保存到MySQL中
|
||||
- Flask+html+css+js+echarts将数据进行可视化展示
|
||||
|
||||
### 📈 数据大屏
|
||||
- 拥堵延时排名TOP
|
||||
- 高速驾驶行为风险指数
|
||||
- 道路情况分析
|
||||
- 拥堵延时排名
|
||||
- 交通指数分析
|
||||
- 拥堵城市参数排名
|
||||
- 交通健康城市排名
|
||||
|
||||
## 🏗️ 技术架构
|
||||
|
||||
### 后端技术栈
|
||||
- **Flask**: Web框架
|
||||
- **Flask-RESTful**: RESTful API开发
|
||||
- **Flask-SQLAlchemy**: ORM数据库操作
|
||||
- **PyMySQL**: MySQL数据库连接
|
||||
- **Requests**: HTTP请求库
|
||||
- **Pandas**: 数据处理
|
||||
|
||||
### 前端技术栈
|
||||
- **Bootstrap**: UI框架
|
||||
- **Chart.js**: 图表库
|
||||
- **ApexCharts**: 高级图表库
|
||||
- **jQuery**: JavaScript库
|
||||
- **DataTables**: 数据表格
|
||||
|
||||
### 数据库
|
||||
- **MySQL**: 主数据库
|
||||
- **SQLAlchemy**: ORM映射
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
bigdata-highway-analytics/
|
||||
├── app.py # 应用主入口
|
||||
├── config.py # 配置文件
|
||||
├── README.md # 项目说明文档
|
||||
├── db/
|
||||
│ └── bs_jaotong.sql # 数据库初始化脚本
|
||||
└── App/ # 核心应用模块
|
||||
├── __init__.py # 应用初始化
|
||||
├── apis.py # RESTful API接口
|
||||
├── views.py # Web页面路由
|
||||
├── models.py # 数据模型
|
||||
├── exts.py # 扩展初始化
|
||||
├── urls.py # URL路由配置
|
||||
├── templates/ # HTML模板
|
||||
│ └── index.html
|
||||
└── static/ # 静态资源
|
||||
├── assets/ # 第三方资源
|
||||
├── css/ # 样式文件
|
||||
├── js/ # JavaScript文件
|
||||
└── images/ # 图片资源
|
||||
```
|
||||
|
||||
## 🚀 安装与部署
|
||||
|
||||
### 环境要求
|
||||
- Python 3.7+
|
||||
- MySQL 5.7+
|
||||
- Windows/Linux/macOS
|
||||
|
||||
### 1. 克隆项目
|
||||
```bash
|
||||
git clone <your-repo-url>
|
||||
cd bigdata-highway-analytics
|
||||
```
|
||||
|
||||
### 2. 创建虚拟环境(推荐)
|
||||
```bash
|
||||
# Windows
|
||||
python -m venv venv
|
||||
venv\Scripts\activate
|
||||
|
||||
# Linux/macOS
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
### 3. 安装依赖包
|
||||
```bash
|
||||
pip install flask==2.3.3
|
||||
pip install flask-restful==0.3.10
|
||||
pip install flask-sqlalchemy==3.0.5
|
||||
pip install pymysql==1.1.0
|
||||
pip install requests==2.31.0
|
||||
pip install tqdm==4.66.1
|
||||
pip install pandas==2.1.1
|
||||
pip install statsmodels==0.14.0
|
||||
pip install numpy==1.24.3
|
||||
pip install scipy==1.11.1
|
||||
```
|
||||
|
||||
### 4. 数据库配置
|
||||
1. 创建MySQL数据库:
|
||||
```sql
|
||||
CREATE DATABASE bs_jaotong CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
```
|
||||
|
||||
2. 导入数据库结构:
|
||||
```bash
|
||||
mysql -u root -p bs_jaotong < db/bs_jaotong.sql
|
||||
```
|
||||
|
||||
3. 修改数据库连接配置(`config.py`):
|
||||
```python
|
||||
class BaseConfig:
|
||||
HOST = 'localhost' # 数据库主机
|
||||
PORT = '3306' # 数据库端口
|
||||
USERNAME = 'root' # 数据库用户名
|
||||
PASSWORD = 'your_password' # 数据库密码
|
||||
DATABASE = 'bs_jaotong' # 数据库名称
|
||||
```
|
||||
|
||||
### 5. 启动应用
|
||||
```bash
|
||||
python app.py
|
||||
```
|
||||
|
||||
访问地址:http://127.0.0.1:5000/
|
||||
|
||||
## 📊 数据库设计
|
||||
|
||||
### 主要数据表
|
||||
|
||||
#### 用户表 (sys_user)
|
||||
- `id`: 用户ID(主键)
|
||||
- `username`: 用户名
|
||||
- `password`: 密码
|
||||
- `create_time`: 创建时间
|
||||
|
||||
#### 城市代码表 (city_code)
|
||||
- `code`: 城市代码(主键)
|
||||
- `name`: 城市名称
|
||||
- `pinyin`: 城市拼音
|
||||
|
||||
#### 拥堵数据表 (jam)
|
||||
- `id`: 记录ID(主键)
|
||||
- `freeFlowSpeed`: 畅通速度
|
||||
- `realSpeed`: 实际速度
|
||||
- `idxRatio`: 周环比数
|
||||
- `idxRatioState`: 周环比状态
|
||||
- `idx`: 拥堵延时指数
|
||||
- `label`: 城市标签
|
||||
- `name`: 城市编号
|
||||
- `create_time`: 创建时间
|
||||
|
||||
#### 预测数据表 (prediction)
|
||||
- `id`: 记录ID(主键)
|
||||
- `idx`: 拥堵指数
|
||||
- `create_time`: 预测日期
|
||||
|
||||
## 🔧 配置说明
|
||||
|
||||
### 环境变量配置
|
||||
建议创建 `.env` 文件进行环境配置:
|
||||
```
|
||||
DB_HOST=localhost
|
||||
DB_PORT=3306
|
||||
DB_USER=root
|
||||
DB_PASSWORD=your_password
|
||||
DB_NAME=bs_jaotong
|
||||
FLASK_ENV=development
|
||||
```
|
||||
|
||||
### 数据库连接配置
|
||||
在 `config.py` 中修改数据库连接参数:
|
||||
```python
|
||||
class BaseConfig:
|
||||
DIALECT = 'mysql'
|
||||
DRIVER = 'pymysql'
|
||||
HOST = 'localhost'
|
||||
PORT = '3306'
|
||||
USERNAME = 'root'
|
||||
PASSWORD = 'your_password'
|
||||
DATABASE = 'bs_jaotong'
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user