基于hadoop和echarts的教育大数据可视化系统_基于hadoop线上课程信息分析系统实现-程序员宅基地

技术标签: 毕业设计  信息可视化  echarts  hadoop  教育大数据  可视化系统  

目录
摘 要 I
Abstract II
第1章 绪 论 2
1.1 课题研究背景 2
1.2 课题研究内容 2
1.3 课题发展方向 3
第2章 相关理论和技术介绍 4
2.1 大数据可视化研究 4
2.2 Java语言 4
2.3 Idea开发环境 5
2.4 Hadoop生态圈技术 5
2.5 Echarts 5
2.6 开发环境 5
第3章 系统调研 7
3.1需求分析 7
3.2可行性分析 7
第4章 概要设计 9
4.1功能设计 9
4.1.1 登陆注册功能 9
4.1.2 数据预处理功能 9
4.1.3 每日登陆人数分析 9
4.1.4 平均学习时长和学习行为次数分析 9
4.1.5 每日活跃情况分析 9
4.1.6 分时段学习人数分析 9
4.2数据库设计 10
4.2.1 用户登录信息表 10
4.2.2 学生学习活跃情况表 10
4.2.3 学生注册表 10
4.2.4 学生登录信息表 11
4.2.5 班级表 11
4.2.6 当日人均登录时长表 11
4.2.7 HBase中数据展示相关表 11
4.2.8 HBase中首页数据相关表 12
4.3系统结构设计 12
4.3.1 数据处理 13
4.3.2 数据展示 16
4.4前台UI设计 18
第5章 系统各模块的实现 19
5.1 注册界面 19
5.2 登录界面 20
5.3 首页界面 20
5.4 每日登陆人数分析界面 21
5.5 每日活跃情况分析界面 22
5.6 平均学习时长和学习行为次数分析界面 23
5.7 分时段学习人数分析界面 23
5.8 大屏可视化界面 24
第6章 系统测试 25
6.1 软件测试的目的 25
6.2 测试方法及结果 25
第7章 总结与展望 27
参考文献 28
致 谢 29
1.2 课题研究内容
在线教育正为现代教育体系带来巨大变革,在线教育学习平台一般是学生用来进行校内或校外拓展课程学习的平台,平台需要具备在线视频观看,作业提交,形成性考核等功能。在学生学习的过程中,学校的管理者或负责教师需要了解学生的学习情况和学习状态,因此必须要通过学生的学习行为数据进行数据分析,将学生的学习情况直观的展现给用户,方便教师进行学生管理和评测。
一个完整的教育平台系统中,应具备三个阶段:数据采集和存储,数据分析和结果可视化。本文侧重在于数据分析和结果可视化的实现。
教育大数据可视化系统,通过使用Hadoop生态圈中的组件进行数据归一化及存储,解决数据分析过程,使用ECharts可视化工具来对学习行为分析后的抽象结果进行展现,数据分析的维度有平台健康度,每日登录人数分析、平均学习时长分析、学习行为次数分析、每日活跃情况分析和分时段学习人数分析等。同时,可视化不存在简单的对应关系,应该根据需可视化呈现对象的特征进行具体设计[7]。
1.3 课题发展方向
本系统采用某数据分析平台中的部分时间段学生学习数据,而非杂乱不关联的数据做数据分析,首先将学习平台中关系型数据表导入Hadoop中做分析与存储,通过这样的分析,老师去了解当前的学生和学习情况是什么样的,以及这个课程平台的这个健康程度和通过这个来反哺过来提升课程质量。通过页面可视化技术,将分析结果呈现,便于老师直观对学生的教学行为、爱好行为等非结构化数据特征进行深度了解。
目前信息化技术的扩散,“互联网+”战略和5G技术的来临,高校的数字化校园建设充满机遇与挑战。高校缺乏专业人才自建数据分析平台,且对数据的分析处理技术与挖掘模型的集成整合难度较大,更多是外包给有能力的企业来做。但北京语言大学网络教育学院的在线教育大数据分析平台的成功也证实了机遇一直都在,该项目通过教育数据分析系统建设,汇聚分散在不同平台中的数据信息,最大程度满足学生个性化需求,根据课程关联性、学生学习过程中习题测验完成情况等相关数据,为学生推荐相关课程,提供个性化的课程服务。在节省了人力成本的基础之上,面向整个平台的数据可视化和面向系统优化的统计分析,为学习者提供了个性化、针对性的指导和全面、综合的评价,同时为监督提高教师的教学水平,该平台也支持根据教师的备课情况、参与论坛情况和学生评教的结果等。
当然,对大数据的探索和可视化还更多停留在数据的批处理时代,对于流数据的处理需要新的算法的注入,也需要设计创新的交互方式来对大数据进行可视化交互和辅助决策[8]。
本系统运用Java开发,采用MVC设计模式,系统分为两部分:一是利用MapReduce完成数据准备工作,数据处理使用批处理形式并存储于HBase中,二是使用Java Web项目访问数据库表,Servlet通过JSON数据格式加载到基于HTML的ECharts中,进行数据展示,其中有使用Spring Security和CAS做登录拦截和单点登录。

/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: Apache Tomcat/7.0.52
 * Generated at: 2019-02-15 01:28:54 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {
    

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    
    return _jspx_dependants;
  }

  public void _jspInit() {
    
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
  }

  public void _jspDestroy() {
    
  }

  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {
    

    final javax.servlet.jsp.PageContext pageContext;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
    
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, false, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write('\n');
      out.write('\n');
      out.write('\n');

final String queryString = request.getQueryString();
final String url = request.getContextPath() + "/login" + (queryString != null ? "?" + queryString : "");
response.sendRedirect(response.encodeURL(url));
      out.write('\n');
    } catch (java.lang.Throwable t) {
    
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
    
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
     out.clearBuffer(); } catch (java.io.IOException e) {
    }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
    
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/newlw/article/details/128530756

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签