基于大数据与时间序列预测的的书籍数据分析(内含spark+hive+mysql+kettle+echart+tensorflow)

目录

一,绪论

1、项目背景:

2、目标:

3、用户群体:

二.相关开发技术介绍

(一)后端相关技术

1.sparkSQL简介

2.kettle简介

3.tensorflow简介

(二)前端相关技术

1.HTML简介

2.echarts简介

(三)相关数据库

1.Mysql简介

2.hive简介

三.需求分析

三.系统设计

项目框架:

系统目的:

数据库设计:

四.系统实现

1.预处理:

数据仓库:分层

导入导出:

预测部分代码和结果:

运行结果:

可视化展示

五.得到结论


一,绪论

1、项目背景

通过合理的预测预测各个年份出版图书的占比可以提供一些有用的信息和洞察,例如:市场趋势分析:通过观察图书占比的变化,可以分析出版业的发展趋势和变化趋势,了解不同年份图书市场的热点领域和消费趋势。 分析图书产业的发展方向:通过预测各个年份出版图书的占比,可以推测趋势和市场需求。这有助于出版商、作家和从业者了解当前和未来的市场机会,有针对性地开发新的图书作品或调整出版策略。 行业投资决策:对图书产业的投资者来说,预测各个年份出版图书的占比可以提供参考,帮助他们了解市场的收益和回报率。投资者可以根据不同年份图书占比的变化来决定是否进行投资,以及如何分配资源。 教育和学术研究:对教育、学术界及相关研究人员来说,预测各个年份出版图书的占比可以提供数据支持和依据,帮助他们了解图书市场的发展趋势,评估学术出版品的影响力和研究领域的发展方向。总之,预测各个年份出版图书的占比有助于了解市场走势、制定战略决策和提供数据支持,对出版业、投资者以及教育和学术界都具有一定的意义。

2、目标:

通过观察每年图书占比的变化推测趋势和市场需求,分析图书产业的发展方向

3、用户群体

主要用户群体为图书馆管理员、商家,他们需要对书籍的流行趋势有一个了解,什么时候客户需求增加,什么时候减少,对应时间取进相应的书籍。

二.相关开发技术介绍

本章主要介绍开发本系统所涉及到的相关技术。

(一)后端相关技术

1.sparkSQL简介

Spark SQL是Apache Spark中处理结构化数据的模块。

编程抽象:Spark SQL提供了一个称为DataFrame的编程抽象,它允许开发者使用SQL或熟悉的DataFrame API查询Spark程序内的结构化数据。这种抽象简化了数据处理和分析的过程

统一的数据访问方式:Spark SQL能够以同样的方式连接到任何数据源,包括Hive、Avro、Parquet、ORC、JSON和JDBC等。这使得数据访问变得统一和简化,无需针对不同数据源编写特定的代码

Spark SQL是一个功能强大的结构化数据处理模块,它提供了统一的编程接口和数据访问方式,使开发者能够轻松处理和分析大规模的结构化数据。

2.kettle简介

Kettle,也被称为Pentaho Data Integration (PDI),是一款开源的数据集成工具。它主要用于数据的抽取、转换和加载(ETL)工作,帮助用户高效稳定地从各种数据源中提取、清洗、整合数据,并加载到目标系统中,是一款功能强大、高效稳定、跨平台的数据集成工具,广泛应用于企业级数据抽取、转换和加载工作。

3.tensorflow简介

TensorFlow是一个开源的机器学习框架,由谷歌人工智能团队开发。它被广泛应用于各种机器学习和深度学习任务,是当前最受欢迎的机器学习框架之一。

TensorFlow基于数据流编程,其核心是一个计算图模型。它使用一种称为“Tensor”的多维数组来表示和操作数据,并支持自动微分等高级功能。TensorFlow的强大之处在于其灵活性和可扩展性,可以轻松地构建复杂的神经网络模型,并在各种硬件上高效地运行。

TensorFlow拥有丰富的API和工具,包括TensorFlow Core(用于构建和训练模型)、TensorFlow Probability(提供概率编程和机器学习库)、TensorFlow Hub(用于共享预训练模型)等。这些API和工具使得开发者可以更加方便地使用TensorFlow进行各种机器学习应用开发。

总之,TensorFlow是一个强大、灵活、可扩展的开源机器学习框架,被广泛应用于各种机器学习和深度学习任务。它提供了丰富的API和工具,使得开发者可以更加方便地使用TensorFlow进行应用开发。

(二)前端相关技术

1.HTML简介

HTML,全称为HyperText Markup Language(超文本标记语言),是用于创建网页的标准标记语言。它被用来描述和定义网页上的内容和结构,包括文本、图片、链接、音频、视频等。

HTML使用一系列的标签(或称为元素)来定义网页上的各个部分。这些标签是HTML元素的语法结构,用于描述网页内容的性质和它们之间的关系。例如,<h1>标签表示一个一级标题,<p>标签表示一个段落,<img>标签则用于插入图片。

HTML文档的基本结构包括DOCTYPE声明、HTML元素、head元素和body元素。DOCTYPE声明用于告诉浏览器文档所使用的HTML版本;HTML元素是所有其他元素的根元素;head元素包含了文档的元信息,如字符集声明、样式表链接和脚本链接等;body元素则包含了网页的主要内容,如文本、图片、链接等。

HTML5是HTML的最新版本,它引入了许多新的元素和API,使得网页开发更加灵活和强大。例如,Canvas API可以用于在网页上绘制图形和动画,Geolocation API则可以用于获取用户的地理位置信息。

总的来说,HTML是一种强大的标记语言,它使得我们可以在网络上创建和分享各种类型的信息。通过使用HTML,我们可以构建出具有丰富内容和交互性的网页和网站。

2.echarts简介

ECharts是一款基于JavaScript的数据可视化图表库,能够流畅运行在PC和移动设备上,兼容当前绝大部分浏览器。ECharts提供了直观、生动、可交互、可高度个性化定制的数据可视化图表。它支持常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、旭日图,多维数据可视化的平行坐标,还有用于BI的漏斗图,仪表盘等12类图表。同时,ECharts还提供了标题、详情气泡、图例、值域、数据区域、时间轴、工具箱等7个交互组件,支持多图表、组件的联动和混搭展现。

(三)相关数据库

1.Mysql简介

MySQL是由瑞典MySQL AB公司开发的关系数据库管理系统,是最流行的关系型数据库管理系统之一。MySQL数据库主要目标是健壮、快速和易用[8]。MySQL使用的SQL语言是访问数据库最常用的标准化语言;MySQL 将数据存储在不同的表中,而不是将所有数据放在一个大型仓库中,这提高了速度和灵活性。在web应用方面,MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一,由于MySQL体积小、速度快、总体拥有成本低,尤其是开源,所以一般选择MySQL作为中小型网站开发的网站数据库。

2.hive简介

Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive设计的初衷是使数据汇总、查询和分析变得更加简单,它提供了类SQL的查询语言HQL,允许用户更加简单地进行查询、汇总和数据分析。

此外,Hive的执行引擎可以是MR、Spark、Tez等,如果执行引擎是MapReduce的话,Hive会将HQL翻译成MR进行数据的计算。用户可以使用命令行工具或JDBC驱动程序来连接到Hive。

Hive的优点包括学习成本低,可以通过类SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序,十分适合对数据仓库进行统计分析。

三.需求分析

需求分析是项目开发的基础,是软件生命周期中的重要环节。因此,需求分析对于软件开发是非常重要的。一个成功的需求分析无疑在软件开发中扮演着重要的角色。开发系统的目的是要为用户提供好用的系统,最终为用户带来各种便利。

系统业务需求分析

书籍管理系统主要是对书籍信息的一个采集,还有对未来书籍一个流行趋势的敏感度

三.系统设计

项目框架:

(1.)数据预处理:对收集到的数据进行空值处理计算每列的空值数量,并将结果打印出来。处理数据中的空值,通过填充平均值来填补空值。对数据按照“id”列进行分组,并计算每个“id”值的出现次数,每年图书占比的变化推测

(2)建立仓库:将预处理以后的数据通过hive放入数据仓库

(3)导入导出:通过kettle连接hive。通过kettle连接mysql。因为在spark中将数据处理过了,所以不需要太多的预处理操作

(4)可视化界面

(5.)预测:数据进行了预处理,包括拆分、清洗和归一化。使用tensorflowr进行预测,通过已经拥有的数据预测未来图书是否流行,未来十年图书进货的数量。预测结果:将预测后的数据制作了一个饼状图,清晰的展示未来十年书籍流行的一个数量

系统目的

通过将数据预处理后,可以得到评论排行最多的前十,书籍价格最少的前十,书籍折扣散点图,每年书籍出售占比环形图,可以更清晰的展示预测未来十年书籍流行的一个数量。

数据库设计

数据库在管理系统中起着非常重要的作用。数据库结构设计的质量将直接影响到应用系统的效率和实现效果。合理的数据库结构设计可以提高存储效率,保证数据的完整性和一致性。同时,合理的数据库结构也将有利于程序的实现

   以下是通过spoon导入到mysql的表

 

四.系统实现

1.预处理:

检查空值情况,处理空值,计算每列的空值数量,并将结果打印出来,首先,isnull(col)函数会返回一个布尔值序列,其中True表示对应位置的值是空值,False表示不是空值。然后,data.filter()函数会根据这个布尔值序列筛选出包含空值的行。最后,count()函数用于计算筛选后的行数,即空值的数量。用均值填充,处理数据中的空值,通过填充平均值来填补空值,并打印出每列的空值数量。检查重复值,处理重复值对数据按照"id"列进行分组,并计算每个"id"值的出现次数。最后保存到数据库。

数据仓库:分层

ads 

dws

Dwd和ods

导入导出

使用kattel进行操作。首先在虚拟机里面打开hive

通过ifconfig查看主机名称

 

预测部分代码和结果:

运行结果:

可视化展示

 

 

五.得到结论

在项目中,我们首先收集了大量的历史数据,包括每年出版的图书数量,原价,现价,折扣等。然后,我们使用数据分析工具对这些数据进行了处理和分析,得出了各个年份出版图书的占比情况。通过对这些数据的可视化展示,我们可以清晰地观察到出版业的发展趋势和变化趋势。

通过时间序列的预测得到的结论是:在未来十年里,2027,2028,2029,2030,这四年的书籍流行度最大,商家应该在这四年多进货进行推销,2031年少进货,大家对书籍的购买需求降低

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/456482.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例

【Python】新手入门学习&#xff1a;详细介绍依赖倒置原则&#xff08;DIP&#xff09;及其作用、代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、Py…

MySQL索引原理及慢查询优化

背景 MySQL凭借着出色的性能、低廉的成本、丰富的资源&#xff0c;已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色&#xff0c;但所谓“好马配好鞍”&#xff0c;如何能够更好的使用它&#xff0c;已经成为开发工程师的必修课&#xff0c;我们经常会从职位描述上…

【话题】2024年AI辅助研发趋势,有那些应用领域

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读文章&#xff01; 此篇是【话题达人】系列文章&#xff0c;这一次的话题是《2024年AI辅助研发趋势》 目录 背景概念实践医药领域汽车设计领域展望未来文章推荐 背景 随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅…

使用CryptoJs对开发中的参数进行加密

场景描述 在开发程序中&#xff0c;我们无时无刻不在接受第三方的一些token&#xff0c;比如我们申请了地图软件的一些定位、导航功能&#xff0c;第三方会给予我们appid还有app secret作为访问他们服务的凭证&#xff0c;大部分时候我们会将求这些登陆凭证放在env文件中&…

uniapp发行H5获取当前页面query

阅读uni的文档大致可得通过 onLoad与 onShow()的形参都能获取页面传递的参数&#xff0c;例如在开发时鼠标移动到方法上可以看到此方法的简短介绍 实际这里说的是打开当前页面的参数&#xff0c;在小程序端的时候测试并无问题&#xff0c;但是发行到H5时首页加载会造成参数获取…

怎样基于“用户”思维让内容营销更有效

当下互联网流量见顶&#xff0c;内容已经成为互联网竞争新的制高点&#xff0c;可以说在数字化驱动的新时代下&#xff0c;“内容为王”仍然是真理。然后信息泛滥的时代下&#xff0c;如何让内容营销脱颖而出呢&#xff1f;媒介盒子认为“用户思维”是关键&#xff0c;今天就和…

C/C++中strcpy,strcat,strstr以及strncpy,strncat,strncmp的使用

1、首先我们来介绍strcpy的使用从这个函数的名字来看它应该是属于字符串的拷贝&#xff0c;string copy。 那么这个函数是怎么用的呢&#xff1f;下面我么来介绍她的基本结构。 char * strcpy ( char * destination, const char * source );由上述可知它需要两部分 一个是目标字…

操作系统——进程

1.什么是进程 概念&#xff1a; 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动&#xff0c;是系统进行资源分配和调度的一个独立单位。 进程是程序的依次执行 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 进程是程序在一个数据集合上运行的过…

[剪藏] - 由哇哈哈和农夫山泉所想到的

哇哈哈和农夫山泉的缠斗最近冒出来一个有趣的点&#xff1a;营销大于内容的胜利。 具体来说是这样的&#xff1a;农夫山泉很多年前做广告&#xff0c;说纯净水没有矿物质&#xff0c;长期喝是不利于人体健康的。农夫还做了个营销的对比实验&#xff0c;大概是用矿泉水养水仙花&…

CMDB在IT管理中的重要性

Configuration Management Database&#xff08;CMDB&#xff09;即配置管理数据库&#xff0c;在当前企业的IT运维管理中扮演着重要的角色。CMDB是一个包含了企业所有设备、软件和服务配置信息的中心数据库&#xff0c;通过有效地管理这些配置数据&#xff0c;能够为企业提供全…

AIX7.2下安装mysql5.1.73数据库

首先需要现在AIX版本的mysql安装包以及相关的依赖包 依赖关系deps文件下载地址&#xff1a; Index of /download/rpmdb/deplists/aix72 对应的rpm包下载地址&#xff1a; Index of /download/everything/RPMS 我们需要下载的mysql安装包主要有 mysql-5.1.73-1.ppc mysql…

WanAndroid(鸿蒙版)开发的第五篇

前言 DevEco Studio版本&#xff1a;4.0.0.600 WanAndroid的API链接&#xff1a;玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考&#xff1a; 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …

SpringBoot(接受参数相关注解)

文章目录 1.基本介绍2.PathVariable 路径参数获取信息1.代码实例1.index.html2.ParameterController.java3.测试 2.细节说明 3.RequestHeader 请求头获取信息1.代码实例1.index.html2.ParameterController.java3.测试 2.细节说明 4.RequestParameter 请求获取参数信息1.代码实例…

PMP成绩判定标准是什么?

2024年3月10日的PMP考试已经结束&#xff0c;不知道大家考得怎么样&#xff0c;对于考试难度有没有值得分享或者吐槽的&#xff1f;可以发出来大家交流一下~ 一、3月PMP考试成绩什么时候出&#xff1f; 按照往期考试成绩发布时间&#xff0c;基本在考后6-8周会出成绩&#xf…

扩展资料主机名到IP地址的有两种方式:DNS

中国联通的DNS地址有两种。 主 DNS 为“210.21.4.130”&#xff0c;备用 DNS 为“221.5.88.88”。 每个 IP 地址可以有一个主机名。 主机名由一串或多串字符组成。 用小数点分隔字符串。 对于中国联通宽带用户&#xff0c;主DNS设置为&#xff1a;210.21.4.130&#xff0c;备用…

最好的五款骨传导耳机推荐,揭秘几大骨传导耳机选购技巧

骨传导耳机以健康听音的优势&#xff0c;近年来迅速赢得了市场的青睐&#xff0c;并成为蓝牙耳机领域的热门选择。随着其受欢迎程度的提升&#xff0c;市场上也出现了一些质量很差的产品&#xff0c;这些产品音质不佳、佩戴不舒适&#xff0c;甚至可能对用户的听力造成潜在风险…

Python实现BOA蝴蝶优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

权限管理系统-0.4.1

5.4 权限管理前端开发 5.4.1 src/components 新建ParentView文件夹&#xff0c;并在文件夹中新建index.vue文件。 并在index.vue中加入以下内容&#xff1a; <template><router-view /> </template>5.4.2 layout/components/Sidebar/index.vue routes() …

潜水耳机哪个牌子好?潜水党必看的游泳耳机专业性能详解!

在游泳、潜水等水上活动中&#xff0c;一个好的耳机可以让你更加享受水中的乐趣。而随着科技的不断发展&#xff0c;市面上涌现了越来越多的游泳耳机品牌和型号&#xff0c;让人眼花缭乱。 &#xff08;以下是之前测试过的游泳耳机&#xff1a;&#xff09; 那么&#xff0c;潜…

从零开始搭建医保购药APP:技术选择与开发流程

医保购药APP作为一种创新的医疗服务工具&#xff0c;为用户提供了便捷的医保购药流程&#xff0c;同时也为医疗机构提供了更高效的管理和服务方式。今天小编将为大家讲解如何从零开始搭建一款医保购药APP&#xff0c;包括技术选择和开发流程。 一、技术选择 在搭建医保购药APP…