基于spark的航班價格分析預測及可視化
項目概況
[👇👇👇👇👇👇👇👇]
點這里,查看所有項目
[👆👆👆👆👆👆👆👆]
數據類型
公開的航班價格數據
開發環境
centos7
軟件版本
python3.8.18、hadoop3.2.0、spark3.1.2、mysql5.7.38、scala2.12.18、jdk8
開發語言
python、Scala
開發流程
數據上傳(hdfs)->數據清洗(spark)->數據分析(spark)->機器學習(spark)->數據存儲(mysql)->后端(flask)->前端(html+js+css)
可視化圖表
操作步驟
python安裝包
pip3 install pandas==2.0.3 -i https://mirrors.aliyun.com/pypi/simple/
pip3 install flask==3.0.0 -i https://mirrors.aliyun.com/pypi/simple/
pip3 install flask-cors==4.0.1 -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pymysql==1.1.0 -i https://mirrors.aliyun.com/pypi/simple/
啟動MySQL
# 查看mysql是否啟動 啟動命令: systemctl start mysqld.service
systemctl status mysqld.service
# 進入mysql終端
# MySQL的用戶名:root 密碼:123456
# MySQL的用戶名:root 密碼:123456
# MySQL的用戶名:root 密碼:123456
mysql -uroot -p123456
創建MySQL庫
CREATE DATABASE IF NOT EXISTS flight CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
啟動Hadoop
# 離開安全模式: hdfs dfsadmin -safemode leave
# 啟動hadoop
bash /export/software/hadoop-3.2.0/sbin/start-hadoop.sh
準備目錄
mkdir -p /data/jobs/project/
cd /data/jobs/project/# 解壓 "data" 目錄下的 "data.7z" 文件
# 上傳 "data" 目錄下的 "CSV" 文件 到 "/data/jobs/project/" 目錄# Clean_Dataset.csv
上傳文件到hdfs
cd /data/jobs/project/hdfs dfs -mkdir -p /data/input/
hdfs dfs -rm -r /data/input/*
hdfs dfs -put -f Clean_Dataset.csv /data/input/
hdfs dfs -ls /data/input/
程序打包
cd /data/jobs/project/# 對 "project-spark-flight-fare-data-analysis-prediction" 項目進行打包
# 打包命令: mvn clean package -Dmaven.test.skip=true
# 上傳 "project-spark-flight-fare-data-analysis-prediction/target" 目錄下的 "spark-job.jar" 文件 到 "/data/jobs/project/" 目錄
spark數據預處理
cd /data/jobs/project/spark-submit \
--master local[*] \
--class org.example.SparkDataClean \
/data/jobs/project/spark-job.jar /data/input/Clean_Dataset.csv /data/output/
spark數據分析
cd /data/jobs/project/spark-submit \
--master local[*] \
--class org.example.SparkAnalysis \
/data/jobs/project/spark-job.jar /data/output/
spark機器學習
cd /data/jobs/project/spark-submit \
--master local[*] \
--class org.example.SparkMLApp \
/data/jobs/project/spark-job.jar /data/output/
啟動可視化
mkdir -p /data/jobs/project/myapp/
cd /data/jobs/project/myapp/# 上傳 "可視化" 目錄下的 "所有" 文件和文件夾 到 "/data/jobs/project/" 目錄# windows本地運行: python app.py
python3 app.py pro