一. 系统的运用背景和实际意义

新冠肺炎疫情传输在全社会范围内造成了巨大影响,生命财产损失不计其数。从掌握疫情基本规律的现实意义出发,本项目基于公开的疫情数据,从可视化的角度对疫情情况进行分析。

1.有效支持科学判断

大数据可视化能将大量的数据信息以生动形象的展示方式呈现在观众面前,在经过整体的数据汇总、分析后,大众能快速从大数据展示中,得出初步的判断,从而加速决策者的处理效率。

2.信息的有效传递

在大数据可视化技术的解决下,数据信息所面向的不仅是决策者,也能向大众进行授权展示,我们可以通过大数据可视化,了解到全国各地、世界各地的感染人数,从而判断出高、低风险区域,以此了解疫情的变化。

3.加速指令执行

大数据可视化将各项信息进行汇总、处理,以形象的展示形式,呈现给大众,在此之中,能加速用户指令的执行,实现高效、快速的应用。

以上便是大数据可视化在疫情中使用的作用,随着数据信息的越发复杂,大数据可视化技术的应用也变得越发广泛,在各大行业领域中,大数据分析都是推动产品、行业发展、进步的重要因素之一,而我们也正式步入了数字信息时代。

二. 系统的功能需求

(1)可视化美国截止每日的累计确诊人数和累计死亡人数。

(2)可视化美国每日的新增确诊人数。

(3)可视化美国每日的新增确诊人数新增死亡人数。

(4)可视化截止5.19日,美国各州的累计确诊人数和死亡人数。

(5)可视化截止5.19日,美国确诊人数最多的十个州。

(6)可视化截止5.19日,美国死亡人数最多的十个州。

(7)可视化截止5.19日,美国确诊人数最少的十个州。

(8)可视化截止5.19日,美国死亡人数最少的十个州。

(9)可视化截止5.19日,全美和各州的病死率。

三. 系统使用的大数据技术

本系统使用的大数据技术主要包含Hadoop,Spark和Echarts。

Hadoop

Hadoop在2006年开始成为雅虎项目,随后晋升为顶级Apache开源项目。它是一种通用的分布式系统基础架构,具有多个组件:Hadoop分布式文件系统(HDFS),它将文件以Hadoop本机格式存储并在集群中并行化; YARN,协调应用程序运行时的调度程序; MapReduce,这是实际并行处理数据的算法。Hadoop使用Java编程语言构建,其上的应用程序也可以使用其他语言编写。用一个Thrift客户端,用户可以编写MapReduce或者Python代码。

除了这些基本组件外,Hadoop还包括Sqoop,它将关系数据移入HDFS; Hive,一种类似SQL的接口,允许用户在HDFS上运行查询; Mahout,机器学习。除了将HDFS用于文件存储之外,Hadoop现在还可以配置使用S3 buckets或Azure blob作为输入。

Spark

Spark是一个较新的项目,在2012年诞生在加州大学伯克利分校的AMPLab。它也是一个顶级Apache项目,专注于在集群中并行处理数据,一大区别在于它在内存中运行。

类似于Hadoop读取和写入文件到HDFS的概念,Spark使用RDD(弹性分布式数据集)处理RAM中的数据。Spark以独立模式运行,Hadoop集群可用作数据源,也可与Mesos一起运行。在后一种情况下,Mesos主站将取代Spark主站或YARN以进行调度。

Echarts

ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交 互组件,支持多图表、组件的联动和混搭展现。

四. 项目开发工具和部署流程

项目的开发工具包含:

操作系统:Ubuntu18.04(或Ubuntu16.04),

Hadoop版本2.7.1,

Spark版本:2.4.0,

JDK版本:1.8,

第三方库pyechrts和python

编辑工具Visual Studio Code。

项目的部署流程:

获取数据集:

本实验的数据集counties.csv,是美国各洲/县从2020-1到2020-5将近4个月的新型冠状疫情数据,包含五个字段,分别是date 日期 2020/1/21;state 州 Washington;county 区县(州的下一级单位) Snohomish;cases 截止该日期该区县的累计确诊人数 1,2,3…;deaths 截止该日期该区县的累计死亡人数 1,2,3…。

实验步骤:

1.准备工作

(1)启动虚拟机virtualbox;

(2)选择用户hadoop,输入密码hadoop,登录到ubuntu系统;

(3)在宿主机和虚拟机之间建立共享文件夹share,绑定windows下的路径D:\share,挂载到ubuntu系统下的/home/share目录。并将数据集counties.csv放到windows路径下share文件夹下。

(4)在终端下输入命令hadoop@dblab-VirtualBox:~$ sudo mount -t vboxsf share /home/share/,即可查看本实验中要用到的文档counties.csv。

1.2 从本地Linux中上传文件到HDFS

(1)启动hdfs服务

hadoop@dblab-VirtualBox:/usr/local/hadoop/sbin$ ./start-dfs.sh

检查hdfs是否成功启动

hadoop@dblab-VirtualBox:/usr/local/hadoop/sbin$ jps

(2)上传文件到HDFS系统中

hadoop@dblab-VirtualBox:/usr/local/hadoop/bin$ ./hdfs dfs -put /home/share/counties.csv /user/hadoop/

1.3 pyspark编程

1.3.1 编写python文件covidAnalyze.py

(1)读取文件生成DataFrame

1.3.2 运行上述covidAnalyze.py文件

spark-submit covidAnalysis.py

1.4 数据可视化

(1)第三方库pyecharts安装

首先安装pip3

hadoop@dblab-VirtualBox:~$ sudo apt install python3-pip

hadoop@dblab-VirtualBox:~$sudo pip3 install pyecharts==0.5.11 -i https://pypi.douban.com/simple/

先从python3.5升级到python3.6

(2)安装pyecharts

(3)对获取的数据进行可视化

五. 项目的运行结果截图

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐