0


基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法

需要本项目的全套环境、代码、文档、资源、数据和部署调试的私信博主!!!

本研究基于中国新冠疫情2020-01-11至2022-12-20的全国整体数据进行疫情大数据分析,通过对历史的数据进行大数据分析,可以有效的掌握过去疫情数据的特点,便于对疫情之后的防控提供更好的决策。

本次研究的数据集,来自于国内卫健委疫情官方数据集,通过对近三年的疫情数据进行大数据分析,可以有效的了解到历史疫情的一个整体的规律和特点,同时在疫情大数据可视化上有很重要的参考意义。首先,将开源疫情数据,进行预处理,清洗其中包含的空值以及对时间字段进行扩充为年、月、日、周等字段,方便后续的时间维度分析。其次将清洗好的数据集上传到Hadoop平台中,通过配置好flume和hive环境然后编写shell脚本将数据集利用Flume组件进行自动加载到hive数据库中,达到一键化的导入数据集。其次在hive中进行大数据分析,结合多维度的字段对疫情数据从时间上、空间上、横向与纵向的分析,进一步的挖掘疫情数据的特点和发生的时间上的分布情况。

最后将hive中分析出来的结果,进行可视化展示,这里结合Python的pyecharts可视化库,编写可视化代码进一步的将分析结果进行前端可视化展示,便于查看,最后利用pyecharts中的page组件将图表进行组合,搭建疫情可视化大屏,构建交互式的动态可视化展示,本研究基于Hadoop和Python的预处理、自动加载数据、大数据分析、可视化展示与构建可视化大屏,具有一体化的效果。

1.1 研究背景

此处省略......

1.2 国内外研究现状分析

国外研究现状:

此处省略......

国内研究现状:

此处省略......

总结:

基于Hadoop的疫情信息分析与可视化研究在国内外都有较为广泛的应用。国外研究主要集中在疫情数据的处理和分析,以及疫情预测模型的构建。而国内研究则主要集中在疫情数据的可视化和知识图谱的构建。未来,基于Hadoop的疫情信息分析与可视化研究还有很大的发展空间,可以进一步提高对疫情的监测和预警能力,为政府部门和医疗机构提供更加准确的数据支持和决策依据。另外,未来可以将Hadoop技术与人工智能、机器学习等技术相结合,开发更加智能化、自适应的疫情信息分析和预测模型。

此处省略......

1.3 研究目的

随着全球新冠疫情的爆发,疫情信息的收集、整理、分析和可视化变得越来越重要。基于Hadoop的疫情信息分析与可视化研究的研究目的在于利用大数据技术分析全球疫情数据,探究疫情传播规律,为疫情防控提供科学依据。

本研究的具体目的如下:

(1)收集和整理疫情数据

(2)分析疫情传播规律

(3)实现疫情可视化

为了实现上述研究目的,本研究将采用以下方法:

(1)数据采集和处理

本研究将使用Python等程序语言编写网络爬虫,从各种公开数据源收集新冠疫情数据。采集到的数据将进行清洗和整理,并使用Hadoop平台上的HDFS和HBase进行存储和管理。

(2)疫情传播规律分析

本研究将使用Hadoop上的MapReduce、Spark等分布式计算和数据挖掘技术,对疫情数据进行分析。具体来说,可以使用时间序列分析、空间统计分析、聚类分析等方法,探究不同地区、不同时间段的疫情传播规律。通过分析疫情传播规律,可以为疫情防控提供科学依据和指导。

(3)疫情可视化展示

本研究将使用Hadoop平台上的可视化工具,将疫情数据呈现为地图、折线图、柱状图等多种可视化形式,帮助人们更加直观地了解疫情传播情况。同时,疫情可视化还可以帮助疫情信息的传播和理解,提高公众的疫情意识和防控意识。

此处省略......

1.4 研究意义

随着科技的不断发展,大数据技术在各个领域得到了广泛的应用。在当前全球范围内爆发的新冠肺炎疫情中,利用大数据技术进行疫情信息的分析与可视化已成为了研究的热点。Hadoop作为目前应用最广泛的大数据处理平台之一,在这个领域中也扮演着重要的角色。

2 研究总体设计

2.1 总体研究路线

本研究旨在通过基于Hadoop的疫情信息分析与可视化研究,探讨如何利用大数据技术对新冠疫情进行分析与可视化展示,为后续疫情防控提供更好的决策依据。本文使用了国内卫健委疫情官方数据集,对中国自2020年1月11日至2022年12月20日的疫情数据进行了分析。

此处省略......

总之,本研究基于Hadoop和Python的预处理、自动加载数据、大数据分析、可视化展示与构建可视化大屏,具有一体化的效果。通过此研究,可以更好地利用大数据技术对疫情数据进行分析与可视化展示,为后续疫情防控提供更好的支持和决策依据。

图 1 总体设计路线图


2.2 Hadoop环境部署

Hadoop是一个开源的分布式计算平台,可以用于处理海量数据。Hadoop环境主要包括HDFS、MapReduce、Hive等组件。下面是一个基本的Hadoop环境部署步骤:

此处省略......

本研究通过搭建Hadoop伪分布式系统,对其进行大数据分析。可以学习Hadoop的基本原理和架构,对Hadoop的运行机制有更深入的了解。能够在单机上模拟多节点的分布式环境,可以更好地测试和开发分布式应用程序。可以充分利用自己的计算资源,提高数据处理效率。

由于Hadoop的部署和安装各类组件比较繁琐,这里就不作具体的详细的安装部署描述了。本研究通过前期花费时间对其进行各类组件安装,并将其结果图展示如下所示:

图 2 安装界面部分展示


2.3 前期知识准备

2.3.1 Hadoop相关知识介绍

此处省略......

2.3.2 Hive相关知识介绍

Hive是一个基于Hadoop生态系统的数据仓库工具,它提供了类SQL的查询和数据管理功能。它允许用户将结构化数据存储在Hadoop分布式文件系统(HDFS)中,并使用SQL语言进行查询和分析。以下是关于Hive的一些重要知识点:

此处省略......

2.3.3 Flume相关知识介绍

Flume是一个分布式的、可靠的、高可用的服务,用于收集、聚合、移动和传输大量的日志和事件数据。它是Hadoop生态系统中的一个组件,主要用于将数据从各种不同来源移动到Hadoop集群中进行分析和处理。

此处省略......

2.3.4 Python相关知识介绍

Python是一种高级编程语言,由Guido van Rossum于1991年创建。它是一种通用语言,非常适合用于数据处理、科学计算和Web开发等领域此处省略......

2.4 数据集介绍

数据集包括多个字段,这些字段可用于对疫情情况进行详细分析。

日期:每天的日期

年:年份

月:月份

日:日期

星期:星期几

累计确诊:自疫情爆发以来,累计确诊的病例数量

累计死亡:自疫情爆发以来,累计死亡的病例数量

累计治愈:自疫情爆发以来,累计治愈的病例数量

死亡率:累计死亡病例数与累计确诊病例数之比

新增确诊:每天新增的确诊病例数

新增死亡:每天新增的死亡病例数

新增治愈:每天新增的治愈病例数

现存确诊:目前仍在治疗中的确诊病例数

累计境外输入:自疫情爆发以来,累计的境外输入病例数

新增境外输入:每天新增的境外输入病例数

现存境外输入:目前仍在治疗中的境外输入病例数

本土累计确诊:自疫情爆发以来,累计的本土确诊病例数

本土新增确诊:每天新增的本土确诊病例数

本土现存确诊:目前仍在治疗中的本土确诊病例数

现存重症:目前仍在治疗中的重症病例数

现存无症状:目前仍在隔离治疗中的无症状病例数

现存密切接触者:目前仍在隔离观察中的密切接触者数量

新增无症状:每天新增的无症状病例数

现存疑似:目前正在进行检测或观察的疑似病例数

数据集源自国内卫**此处省略.....**技术进行数据处理和分析,将有助于更高效地利用这些数据,为疫情防控工作作出贡献。

图 3 源数据展示


2.5 数据预处理

首先,对于公开提供的数据,我将其用Python的pandas导入到内存中,**此处省略......**、周的单列字段,便于后续在Hadoop中的hive里面进行大数据分析。

图 4 数据预处理展示


其次,我们将死亡率这个字段的百分比替换到,因为在hive中分析,是不允许出现这样的格式的,所以这里进行一步处理,采用正则表达式进行百分号的替换,使得数据变得有结构化。

图 5 预处理之后的数据


之后,为了在hive中创建合适的表,我们将所有的中文字段名,对应为英文,最后完成数据的预处理工作。

图 6 字段对应


2.6 Hive中创建表

在进行数据的导入之前,首先需要在hive中创建一个表,用于后续的flume的数据源接收。

图 7 Hive中创建表格


在Hive数据库中创建名为“yq_data”的表,并定义了该表的字段结构、分区方式、存储格式等属性。

首先,代码中使**此处省略......**方式和存储格式等属性,可以帮助用户更方便地对疫情数据进行查询、统计和分析。同时,由于该表支持Hive的ACID事务机制,可以确保数据的安全性和完整性。

2.7 导入数据到hive中

接下来就是数据的导入,通过编写shell脚本一键化执行的,包括配置环境和配置参数变量。

首先,我们将配置flume需要的文件,达到一键化导入的效果

图 8 Flume配置文件


该文件用于将从指定目录下获取的文件数据写入到Hive表中。

在该配置文件中,首先定义了Flume的agent名称为agent3,此处省略......

然后我们配置好文件之后,新建两个文件夹便于后续的数据存放的位置,当我们将数据源移动到目标文件夹下之后,就会自动完成数据的导入。

前提是我们需要开启flume和hive监听,该命令行的Hive Metastore服务启动命令。

Hive Metastore是Hive的元数据存储服务,用于管理和存储Hive中表、分区、数据等元数据信息。在Hive Metastore服务启动之后,Hive客户端可以通过连接Hive Metastore来获取元数据信息,并进行相关的查询和操作。

该命令中的--service metastore参数表示启动的是Hive Metastore服务,-p 9083参数指定了服务启动的端口号为9083。当执行该命令后,Hive Metastore服务会在后台启动,并开始监听指定的端口号。在Hive客户端中连接Hive Metastore服务的同时,此处省略......

图 9 Flume导入数据展示


2.8 Hive大数据分析

2.8.1 每年累计新增疫情分析

我们对每日新增的数据按照每年进行分组聚合,统计累计总确诊、累计总死亡、累计总治愈、累计境外输入、累计无症状、累计本土确诊等人数进行可视化分析和展示。通过对疫情数据进行分组和聚合,从而得到不同年份的疫情数据汇总统计信息,便于人们了解疫情的发展趋势和规律,进一步指导疫情的防控和治疗。

图 10 hive大数据分析


在接下来进行的所有数据来源分析结果,都是通过Hadoop的hive进行大数据分析,并且将所得到的分析结果进行可视化展示出来,进一步让我们了解到这个疫情数据的规律。

图 11 2020-2022年疫情累计总确诊-总死亡-总治愈人数统计


通过这里我们可以看到在2020年的时候,疫情数据相对于比较的平稳,到了2021年就呈现出比较好的一种态势,但是在2022年就出现了病毒的变异,导致国内疫情快速的上升。此处省略......

图 12 2020-2022年疫情累计境外输入-无症状、本土确诊人数统计


在2020年和2021年的时候境外输入的病例和无症状人数都是比较的少的,但是到了2022年的时候,国外疫情不断的反复变化,病毒也在不断的发生变异,此处省略......

2.8.2 每月累计新增疫情分析

针对国内的疫情数据,可以从每一个月来进行数据分析,找到近几年疫情高峰期和哪些月份相关,那么对应的月份包括有季节影响,时间影响、温度等其他的外在和社会因素影响,这些都是可以结合到每月的时间维度进行深入的思考和解释的。

可以用于深入了解疫情的发展和趋势,此处省略......

图 13 2020-2022年疫情每月累计总确诊-死亡、治愈人数统计


从上面的数据可视化可以知道,在疫情高峰期主要是集中在春季和冬季两个时节,其中2、3、4月温度属于比较的温和的,而且也是属于开始上学和上班的一个时节,其中11和12月是属于回家过年的一个假期高峰期。此处省略......

图 14 2020-2022年疫情每月累计境外输入-无症状、本土确诊人数统计


在4月和11月份的时候,无症状感染者数量非常多,此处省略......

2.8.3 每日累计新增疫情分析

通过对近三年的每一天的数据进行可视化分析,找到在每个月中的每一天中有哪些时间比较容易发生疫情感染,并且可以找到这个其中的一些规律作为疫情防控的一个依据。

图 15 近三年平均每日疫情

图 16 近三年平均每日疫情统计


通过上述的分析和可视化,我们可以知道在一般月末的时候,这些疫情数据都有所缓和,此处省略......

2.8.4 每周累计新增疫情分析

通过对近三年的每一周的数据进行分析和可视化,我们可以发现并且得出在一周之内,哪一天的感染人数是最多的,哪一天的感染人数是最少的。

图 17 2020-2022年疫情每周累计总确诊-总死亡-总治愈人数统计


从上述的分析可视化中,可以明显的看出,每周的总治愈人数都是差不多的,其中确诊人数主要是集中在工作日中,因为在工作日的时候大家经常进行核酸检测,所以对于确诊的数据有很好的监控。

图 18 2020-2022年疫情每周累计境外输入-无症状、本土确诊人数统计


对于每周中的无症状感染者人数,其中在周末的时候比较多,因为周末大家可能都想要出去玩或者去旅游,这样的情况就会增加无症状感染者的风险。

2.8.5 疫情总体对比数据分析

随着疫情的不断加剧,每天的疫情指标都在不断的上升,但是我们了解哪些指标在这几年中占据的主要的数量。

图 19 近三年不同疫情数据指标对比


通过可视化分析了解到,无症状感染者是最多的,其次就是确诊病例和治愈病例是持平的,在死亡率方面我们国家做的非常好,以及在防控境外输入的政策上都是比较的好的。

2.8.6 每日数据透视可视化

通过对每一天的疫情数据进行展示可视化可以更全面的了解疫情发展情况:通过每天的疫情数据可视化展示,可以更加全面、详细地了解疫情的发展情况和趋势,从而更好地制定相应的防疫措施。

图 20 每天疫情数据展示

图 21 每日疫情数据透视


通过呈现每天的疫情数据在时间轴上,我们可以更明确地追踪疫情的演变,这有助于我们更深入地理解疫情的发展模式和趋势。

通过对过去的疫情数据进行深入研究和建立预测模型,我们可以尝试预测未来的疫情走向。这种预测模型可能会借助统计学、机器学习等工具,以预期未来的疫情动向、重灾区以及疫情规模等。然而,要注意疫情的演变受到多种因素影响,如政府的防疫政策、人口迁移、病毒变异等,因此预测的结果可能不会完全准确,我们需要结合实际情况进行全面的分析和评估。

2.8.7 疫情死亡率分析

在疫情发生最初,死亡率开始上升,但是在后续的疫情防控政策越来越完善,疫情防控举措越来越大之后,死亡率逐步的开始下降,这也证明了我国在疫情防控方面做的是非常好的,也是值得其他国家借鉴的。

图 22 年度死亡率


可以了解到在2021年和2020年的死亡率比较的高,但是到了2022年虽然疫情比较的严重,我们的死亡率还是下降的趋势,说明我们在防控疫情方面对人的生命安全做的比较的好。

图 23 月度死亡率

图 24 周度死亡率


此处省略......

促进公众防疫意识的提高:通过对每一周的死亡率进行统计分析,并向公众传递相应的信息,可以提高公众的防疫意识,增强公众的防疫自觉性和主动性,从而有效遏制疫情的传播。

2.9 大屏可视化

构建疫情大屏可视化是一种将疫情数据可视化展示的方式,它将大量的数据以图表、地图等形式呈现在屏幕上,便于人们直观地了解疫情的发展情况和趋势。疫情大屏可视化的好处如下:

此处省略......

总之,疫情大屏可视化是一种极具实用性和前瞻性的疫情数据展示方式。通过大屏幕的形式展示疫情数据,可以更好地了解疫情发展情况和趋势,促进疫情信息的传播和共享,有助于决策者制定相应的防疫措施,提高公众的防疫意识,为疫情防控工作提供更加有效的支持。

图 25 疫情可视化大屏1

图 26 疫情可视化大屏2

图 27 疫情可视化大屏3


通过pyecharts中的page构建疫情可视化大屏的优势如下:

(1)可交互性:page提供了疫情数据可视化大屏的交互功能,用户可以通过鼠标点击或者其他操作实现对展示数据的交互,增强用户体验,让用户更加深入地了解疫情数据。

此处省略......

3 总结与分析

3.1 本研究创新之处

本研究的创新之处在于:

1、综合运用了多种大数据技术。本研究利用了Hadoop、Flume、Hive等多种大数据技术,将数据预处理、自动加载、分析、可视化等环节有机地结合起来,实现了一体化的数据分析和可视化展示,为疫情防控提供了全方位的支持。

此处省略......

3.2 本研究不足之处

本研究虽然对近三年的疫情数据进行了大数据分析,但在分析过程中还存在一些不足之处。

首先,本研究数据集只基于中国新冠疫情2020-01-11至2022-12-20的全国整体数据进行分析,没有对各个省份、城市等地区的数据进行分析。因此,本研究在空间维度上的分析相对不足,不能深入了解各个地区的疫情情况。

此处省略......

3.3 总结

本研究基于中国新冠疫情2020-01-11至2022-12-20的全国整体数据进行疫情大数据分析,通过对历史的数据进行大数据分析,可以有效的掌握过去疫情数据的特点,便于对疫情之后的防控提供更好的决策。

首先,在数据处理方面,本研究对原始数据进行了预处理和清洗,包括空值处理、时间字段扩充等,以便后续的大数据分析。其次,通过配置好Flume和Hive环境并编写Shell脚本,将处理好的数据集自动加载到Hive数据库中,实现了一键化的数据导入。

此处省略......

每文一语

回首过去总会充满遗憾,向前看才会充满希望


本文转载自: https://blog.csdn.net/weixin_47723732/article/details/131424854
版权归原作者 王小王-123 所有, 如有侵权,请联系我们删除。

“基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法”的评论:

还没有评论