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