夜樱

记一次数据可视化实训任务
开头在专科里大一就跟大二的学长一起去参加专科的大数据省赛,比赛为3人一小队,不免有点小兴奋,也感谢我的老师给我这次...
扫描右侧二维码阅读全文
17
2019/03

记一次数据可视化实训任务

开头

在专科里大一就跟大二的学长一起去参加专科的大数据省赛,比赛为3人一小队,不免有点小兴奋,也感谢我的老师给我这次机会去参加锻炼锻炼,虽然基础还是很差就对了,不过仔细想想谁不是从非常差地步一次次走过来呢,过几天就是比赛了不免还是紧张,希望能拿个好名次吧,

前期准备工作

为了能够顺利的完成本次实训任务,你至少需要了解以下基础知识:

  • HTML,CSS,JavaScript等前端基础
  • Python程序开发基础
  • Java程序开发基础
  • 了解基于Hadoop的离线大数据分析平台的运行机制
  • MySQL数据库的远程连接、数据访问

团队分工

本实训内容涉及到以下知识点:

1.数据采集:

  • 使用工具(Chrome开发者工具)查看网页源码,分析网页结构,明确数据采集对象
  • 网络请求
  • 数据分析及提取
  • 本地目录操作、文件创建、读写

2.数据清洗:

  • HDFS数据文件读取、解析、清洗过滤,分区
  • MapReduce程序的编译、打包、发布
  • 执行MapReduce程序,完成数据清洗

3.数据分析

  • Hive建库、建表
  • Hive数据加载
  • HQL编写、数据查询统计

4.数据分析及数据可视化

  • MySQL数据处理
  • 前端数据展示

5.数据分析报告编写

数据采集和数据清洗由另外两位学长完成,于是我就接下了数据分析及数据可视化的任务(不包括hive)
一小组里都是第一次参加,三人对java和Hadoop的基础都非常差,自己的前端基础和mysql基础也并不是太好,所以感觉会有点困难。

本职工作可视化

介绍下我使用到的一些东西:

  • python中连接mysql数据库的flask-sqlalchemy
  • 数据可视化使用的是百度的Echarts的js库
  • mysql的基础查询以及表之间数据传输
  • sqlchemy中orm映射数据库中的表,设置表
  • python中使用jinja2引擎完成后台数据传递到前端显示

正片

先看看任务

数据可视化1.jpg

数据可视化2.jpg

数据可视化3.jpg

数据可视化4.jpg

首先完成给出的连接数据库的配置,因为其他部分在实训任务中都已经帮忙给好了所以我们只需要直接连接数据库就完事了(其他的没看太懂。。)
直接写SQLALCHEMY_DATABASE_URI = 'mysql+连接器://用户名:用户密码@localhost(ip):端口号/所要连接的数据库名称'

数据可视化5.jpg

接下来去在shell命令行终端中打开mysql,并实现数据库表之间的数据传输
相同数据库下表之间的数据传输为 insert into 目标表(字段名) select (字段名) from 源表
或insert into 目标表 select * from 源表即可完成

表间数据传输.jpg

这样就完成了。。。。。(感觉好假。。)
接下来就去写前端的东西了
打开index.html后,发现基本上大部分也帮忙写好了。。。。

数据可视化6.jpg

看一下body中,已经安排好了dom也看到了方法自调用,接下来就去编写方法里的就好了

数据可视化7.jpg

这里用了Echarts的配置方法,用Json格式来写的配置饼图,其中的data部分用了jinja2来传递
具体的配置方法参考Echarts官网的配置手册,里面也有快速上手的教程非常的简单5 分钟上手 ECharts

然后运行manage.py文件 里面是配置好的flask web应用,可以直接创建一个小型应用的服务器
访问index路径就可以渲染出我们可视化的数据了

可视化8.jpg

可视化9.jpg

额外补充

表的配置部分

表的配置.jpg

数据库查询及排序筛选部分

数据库查询及排序筛选部分.jpg

Last modification:March 17th, 2019 at 03:01 pm
If you think my article is useful to you, please feel free to appreciate

2 comments

  1. Gazzz

    加油~

    1. 小萌羽w
      @Gazzz

      一起加油往前吧哈哈哈( ๑´•ω•) "(ㆆᴗㆆ)

Leave a Comment