计算机毕业设计hadoop+hive+hbase学情分析 在线教育大数据 课程推荐系统 机器学习 深度学习 人工智能 大数据毕业设计 知识图谱

指导教师意见:

1.对“文献综述”的评语:

对教育领域数据可视化的相关背景和现状做了综述,明确了课题的研究目标和研究重点,并对研究手段进行了概述。为后面的毕业设计做好了准备。

  1. 对本课题的深度、广度及工作量的意见和对设计(论文)结果的预测:

深度一般,广度适中,工作量适中。毕设成果有一定的理论价值和应用价值。

3.是否同意开题:√ 同意 □ 不同意

                指导教师:               

年 11 月 5日

所在专业审查意见:

    同意

                负责人:               

年 11 月 9 日

毕业设计(论文)选题、审题表

学院

 计算机工程学院

出题

教师

姓名

 谷瑞军

专  业

 计算机科学与技术

 职称

 副教授

申报题目名称

 基于hadoop和echarts的教育大数据可视化系统

题目类型

√毕业设计          □毕业论文

公办/民办

 公办

题目性质

 C.软件工程

题目来源

A

B

C

D

 √

题目简介

在线教育平台现在是教育体系的重要组成部分,如何评估平台的健康程度、学生的学习体验和在线课程的质量对于课程的教师和学校的管理人员都是非常重要的。主要功能:

(1)数据加载:数据的导入和预处理

(2)数据分析:包括每日登录人数分析、平均学习时长分析、学习行为次数分析、每日活跃情况分析和分时段学习人数分析

(3)数据呈现:可视化图表和仪表盘的开发 

毕业设计(论文)要求(包括应具备的条件)

(1)学习掌握分布式计算框架Hadoop和可视化工具的作用和使用方法。

(2)对原始进行需求分析,提出对数据分析的维度和方法。

(3)要求熟悉java和echarts等开发工具。

(4)在实际网络环境中发布、测试、完善该系统。

题目预计

工作量大小

适中

题目预计

难易程度

一般

 √

 √

所在专业审定意见:

 同意

                                              负责人:                     年  10  月 16  日

窗体顶端

硬件环境要求

CPU:Intel I3系列以上,推荐I5系列或同等型号

内存:4GB以上内存,推荐8GB内存

硬盘:250G以上,推荐500GB硬盘或256SSD硬盘

显示器:VGA显示器或更高

软件环境要求

操作系统:Window XP/各Windows 64位系统 /Linux

开发工具:Intelli Idea/Eclipse/Mysql数据库

系统访问要求

访问工具:谷歌浏览器、火狐浏览器、360浏览器等 或IE11及以上版本的IE浏览器。

1 绪 论

1.1 课题研究背景

在线教育学习平台是学生用来进行校内或校外拓展课程学习的平台,平台需要具备在线视频观看,作业提交,形成性考核等功能。在学生学习的过程中,学校的管理者或负责教师需要了解学生的学习情况和学习状态,因此必须要通过学生的学习行为数据进行数据分析,将学生的学习情况直观的展现给用户,方便教师进行学生管理和评测。

现阶段在线教育学习平台,一般会提供两种方向,一种是对普通用户,社会上的各种人员都可以来学习这个课程,学习完以后拿到一些证书认证,另一种是面向是院校,比如说大学里的学生可以在线选一门课,选完这门课以后,通过这个在线教育学习平台,让学生去学习这门课,最终得到他的学习成绩,那么通过学习他可以拿到他自己的学分,不需要在线下来去进行课程学习,这是整个在线教育学习平台这里面提供的功能,那么学生在学习这门课程的过程中,那肯定会产生很多的这种学习的数据,就比如说学生观看视频观看了多长时间,什么时候来的这个平台这些相关的数据,那么基于这些数据,我们就需要进行数据分析。

通过分析的结果,可以了解学生学习情况,学习状态,根据这些内容,我们好去了解这门课程设置是不是有问题,学生在学习过程中会有哪些习惯和行为,根据这个反馈过来的数据进行灵活的调整,或者让老师重新去调整这个课程内容,或者去改变这一部分的学生学习方式,这是我们最终做这个数据分析的目的。

1.2 课题研究意义

本次课题主要通过使用ECharts图形可视化开发技术,从而在项目中反馈自己的学习成果,提升自己技术水平和能力,让自己在设计方面也能得到更多锻炼,思维模式得到扩展。通过在线教育平台的数据,利用所学知识去分析数据,得出学生在学习过程中学习情况,以及利用课程平台中的健康度和用户活跃度来反哺提升课程质量。

2相关技术介绍和分析

2.1 JAVA语言

 JAVA是一种跨平台的程序设计语言,它属于面向对象型,有着显著的优点。

2.2 Idea开发环境

 IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,idea是目前最好的开发工具之一,尤其在代码只能助手、自动代码提示等方面是有突出成就的。

2.3 Hadoop生态圈技术

 HDFS: 一种分布式文件系统,提供对应用程序数据的高吞吐量访问。

MapReduce: 基于YARN的系统,用于并行处理大型数据集。

HBase: 可扩展的分布式数据库,支持大型表的结构化数据存储。

Sqoop: 采集RDBMS(关系型数据库)。

2.4 ECharts

 ECharts,一个功能强大的交互式图表和浏览器可视化库。

3系统调研

3.1经济可行性分析

系统使用大数据组件开源技术,组建单节点Hadoop集群,使用MapReduce数据分析,考虑到市面上大屏可视化系统需要收费,所以用ECharts技术实现数据可视化图表功能。

3.2技术可行性分析

通过servlet和json进行数据交互,以及CAS做单点登录和注销,调整好系统结构,可以很好实现页面数据传输和展示的功能

3.3系统性能可行性分析

     WEB端产品,性能主要基于服务端的响应,此处通过设置虚拟机内存、优化代码结构等手段,保证正确运行。

4概要设计

4.1功能设计

根据系统的需要,列出所需要的功能,与解决的方法,并以此为参考,设计数据库等后台内容。

4.1.1 登陆注册功能

用户通过浏览器访问后可以登录,没有注册的用户可以进行注册,然后将用户信息存入数据库中,通过Spring Security框架做登录拦截,并可以获取已登录用户登录名,点击注销可以实现用户退出登录。

4.1.2 数据预功能

将数据通过Sqoop导入Hadoop中的HDFS,使用MapReduce进行数据处理,并将处理好的数据,保存到HBase中。

4.1.3 每日登陆人数分析

读取HBase中登录数据,页面显示不同月份的登录人数比,并可以显示每月登录人数,可以切换不同的月份。

4.1.4 平均学习时长和学习行为次数分析

读取HBase中相关数据,页面显示不同日期对应的学习时长和学习次数。

4.1.5 每日活跃情况分析

柱状图显示每日活跃学生人数的统计分析,这里设定每日至少进行3次学习行为的用户为活跃用户

4.1.6 分时段学习人数分析

热力图展示学生在什么时间段爱学习,横坐标为小时,纵坐标为星期。

柱状图展示在不同时间段中用户登录人数。

4.2数据库表结构设计

表与功能相匹,设计时尽量减少冗余数据的存储,多考虑多表查询的可能与简单程度

4.3后台结构设计

主要使用servlet接受请求,MVC将代码分层。

4.4前台UI设计

JS使用AngularJS的双向数据绑定方便的操作,展示更多有用的信息,UI使用ECharts自带的图形效果显示。

5 系统运行示例与测试

5.1 系统测试概述

项目完成后,测试时保证系统稳定运行的关键所在,不同的点击事件向后台请求数据,前端接受数据,避免数据传输错误引起的界面不显示或报错问题以及界面的排版问题。

5.2 运行测试

进入到系统界面,依此进行试用

6 结 论

本章主要对本次设计进行总结,总结系统的优点和存在的不足,并且作出相应的改进等。

参考文献

致 谢

核心算法代码分享如下:

package com.mydemo.DailyActivity.two;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;


public class StudyTimesMain {

	public static void main(String[] args) throws Exception {
		String[] path = {"hdfs://192.168.203.111:9000/sqoop/result/zt_stu_study_schedule/output1/part-r-00000",
        "hdfs://192.168.203.111:9000/sqoop/result/zt_stu_study_schedule/output2"};
		System.setProperty("hadoop.home.dir", "C:/hadoop");
		
		Configuration config = new Configuration();
		//生成job实例,用户对整个分布式运算的配置
		Job job = Job.getInstance(config);
		job.setJarByClass(StudyTimesMain.class);
		
		//指定在本任务里,map和reduce文件是什么
		job.setMapperClass(StudyTimesMapper.class);
		job.setReducerClass(StudyTimesReducer.class);
		
		//设置mapper输出的类型
		job.setMapOutputKeyClass(Text.class);
		job.setMapOutputValueClass(IntWritable.class);
		
		//设置reducer输出的类型/最后输出的键值类型
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(IntWritable.class);
		
		//要处理的数据来源和产生结果存放的路径
		FileInputFormat.addInputPath(job, new Path(path[0]));
		FileOutputFormat.setOutputPath(job, new Path(path[1]));
		
		//处理MapReduce运算
		System.exit(job.waitForCompletion(true)?0:1);

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计大学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值