基于spark的航班價格分析預測及可視化

基于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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87319.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87319.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87319.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每日算法刷題Day41 6.28:leetcode前綴和2道題,用時1h20min(要加快)

5. 523.連續的子數組和(中等,學習) 523. 連續的子數組和 - 力扣(LeetCode) 思想 1.給你一個整數數組 nums 和一個整數 k ,如果 nums 有一個 好的子數組 返回 true ,否則返回 false: 一個 好的子數組 是:…

拉取vue-element-admin

這個錯誤表明 npm 在嘗試通過 SSH 克隆 GitHub 倉庫時遇到了權限問題,根本原因是系統無法正確處理中文用戶名路徑下的 SSH 配置。以下是詳細的解決方案: 解決方案 1:使用 HTTPS 代替 SSH(推薦) 修改 Git 全局配置&…

c語言的數組注意事項

在C語言中,int()[5]和int是兩種完全不同的指針類型,理解它們的區別對于正確處理數組和多維數組至關重要。下面詳細解釋: 1:int*(指向整型的指針) 含義:指向單個int類型數據的指針典型用法&…

在 NestJS 中優雅使用 TypeORM 進行事務管理

事務管理是數據庫操作中至關重要的部分,它能確保一系列操作要么全部成功,要么全部失敗。本文將詳細介紹在 NestJS 框架中使用 TypeORM 進行事務管理的多種方法。 為什么需要事務管理? 想象一下銀行轉賬場景:從一個賬戶扣款后&am…

給任意apk內容添加水印

1 有源碼給app添加水印 使用java可以適配更多的apk,如果使用koltin一些老的apk就會有適配問題 通過registerActivityLifecycleCallbacks拿到activity對象設置水印 在application里面registerActivityLifecycleCallbacks就行 static class MyActivityLifecycleCallb…

擴展的Fortran在高性能計算(HPC)中助力有限元分析(FEA)、流體力學(CFD)、結構力學、復合材料和增材制造仿真的詳細指南【附完整示例代碼實現】

Fortran 在高性能計算(HPC)中的仿真應用 本指南深入探討 Fortran 語言如何在高性能計算(HPC)中助力有限元分析(FEA)、流體力學(CFD)、結構力學、復合材料和增材制造仿真。每部分詳細介紹,分析 Fortran 的優勢、應用場景和實現細節,并附帶完整的 Fortran 模擬代碼(含…

Java 大視界 -- Java 大數據機器學習模型在自然語言處理中的跨語言信息檢索與知識融合(331)

Java 大視界 -- Java 大數據機器學習模型在自然語言處理中的跨語言信息檢索與知識融合(331) 引言:正文:一、Java 驅動的多語言數據處理平臺1.1 分布式多語言語料智能清洗系統1.2 多語言文本分布式存儲與索引優化1.3 低資源語言數據…

[2025CVPR]SEEN-DA:基于語義熵引導的領域感知注意力機制

目錄 引言 研究背景 方法介紹 核心思想 語義熵(Semantic Entropy) 語義熵引導的注意力機制 領域感知注意力模塊 實驗設計 數據集 實現細節 結果與分析 對比實驗結果 消融實驗 代碼實現 結論 引言 領域自適應目標檢測(Domain …

你的RAG系統安全么?

生成式人工智能(GenAI)近年來發展迅速,大語言模型成為這一浪潮的核心力量。無論是商業還是開源模型,它們都具備強大的語言理解與生成能力,正廣泛應用于內容創作、聊天機器人等場景,讓企業更容易落地智能應用…

【2.3 漫畫SpringSecurity - 守護應用安全的鋼鐵衛士】

?? 漫畫SpringSecurity - 守護應用安全的鋼鐵衛士 ?? 目錄 記憶口訣可視化圖表形象比喻數字記憶實戰案例記憶卡片總結詩句面試準備?? 記憶口訣 ??? SpringSecurity核心 - “認證授權過濾鏈” 認證Authentication確身份,用戶名密碼驗證真 授權Authorization控權限,…

ModbusRTU轉Profinet網關在電子天平與PLC系統集成中的應用

ModbusRTU轉Profinet網關在電子天平與PLC系統集成中的應用 工業自動化場景中,設備通信協議差異常成為系統集成的隱形壁壘。某精密制造企業近期遇到的奧豪斯電子天平與西門子PLC通訊難題,正是這一矛盾的典型縮影。奧豪斯天平采用ModbusRTU協議&#xff0…

js代碼后續

這是一個非常棒的問題,也是每個學完一個系統課程的人都會問的問題。 答案是:不,你沒有學完“所有”的 JavaScript 知識,但你已經出色地完成了成為一名合格 JavaScript 開發者的所有“必修課”。 讓我用一個比喻來解釋&#xff1…

百度文心大模型 4.5 系列全面開源 英特爾同步支持端側部署

2025 年 6 月 30 日,百度如期兌現 2 月 14 日的預告,正式開源文心大模型 4.5(ERNIE 4.5)系列,涵蓋 10 款不同參數規模的模型,包括 470 億參數混合專家(MoE)模型、30 億參數 MoE 模型…

Google AI Edge Function Calling: Android 端模型也能調用工具函數

大家好,我是拭心。 上篇文章我們了解了如何在 Android 手機上實現 RAG。這篇文章我們來聊聊端上大模型應用開發的核心概念:Function Calling(函數調用能力,簡寫為 FC)。 Function Calling 本質上是讓大模型在回答過程…

模型調試實用技巧 (Pytorch Lightning)

【PL 基礎】模型調試實用技巧 摘要1. 設置斷點2. 快速運行所有模型代碼一次3. 縮短 epoch 長度4. 運行健全性檢查5. 打印 LightningModule 權重摘要6. 打印輸入輸出層尺寸 摘要 本文總結了6種實用的模型調試技巧:1)通過設置斷點逐行檢查代碼;…

計算機網絡(四)網際層IP

目錄 一、概念 ?編輯 二、網際層和數據鏈路層的關系? 三、IP地址的基礎認識 四、IP地址的分類 五、無分類地址CIDR 六、子網掩碼 七、為什么要分離網絡號和主機號 八、公有IP和私有IP ?編輯 九、IP地址與路由控制 十、IP分片和重組 十一、IPv6 十二、IP協議…

Java--多態--向上轉型--動態綁定機制--斷點調試--向下轉型

目錄 1. 向上轉型 2. 向下轉型 3. java的動態綁定機制: 4. Object類講解 5. 斷點調試 1. 向上轉型 提前:倆個對象(類)存在繼承關系 本質:父類的引用指向了子類的對象 語法:父類 類型 引用名 new…

Python爬蟲實戰:研究urllib 庫相關技術

1. 引言 1.1 研究背景與意義 互聯網每天產生海量數據,如何高效獲取和利用這些數據成為重要研究方向。網頁爬蟲作為自動獲取網絡信息的核心技術,在市場調研、輿情分析、學術研究等領域具有廣泛應用。Python 憑借其簡潔語法和豐富庫支持,成為爬蟲開發的首選語言。 1.2 相關…

【機器學習賦能的智能光子學器件系統研究與應用】

目前在Nature和Science雜志上發表的機器學習與光子學結合的研究主要集中在以下幾個方面: 1.光子器件的逆向設計:通過機器學習,特別是深度學習,可以高效地進行光子器件的逆向設計,這在傳統的多參數優化問題中尤為重要。…

Codeforces Round 1034 (Div. 3)

比賽鏈接如下:https://codeforces.com/contest/2123 A. Blackboard Game Initially, the integers from 00 to n?1 are written on a blackboard. In one round, Alice chooses an integer a on the blackboard and erases it;then Bob chooses an integer b on …