计算机毕业设计Python+Spark考研预测系统 考研推荐系统 考研数据分析 考研大数据 大数据毕业设计 大数据毕设

安顺学院本科毕业论文(设计)题目申请表

院别:数学与计算机科学      专业:数据科学与大数据     时间:2022年 5月26日

题目名称

基于hive数据仓库的考研信息离线分析系统的设计与实现

学生姓名

杨娣荧

学号

201903144042

题目来源

A.实 验   √B.实习实践  C.社会调查   D.作品展示/毕业汇演      E其他

√A.学生自拟  B.教师推荐

题目类别

   A.论文        √B.设计

选 题 可 行 性 分 析

经济上的可行性:

基于hive数据仓库的考研信息离线分析系统,对技术的相关方面有相应的一些要求, 特别是在hive数据仓库方面,然而经过平时的坚持学习,这已不是问题,在硬件以及软件方面的环境要求都不算太高,经济方面具有较高的可行性。

技术上的可行性:

在本系统的开发中,需对前端技术,后端,hive以及IDEA、Pycharm开发工具具有一定的编码能力和操作能力,而经过大学四年的学习,对此有一定的了解及编码实践,另外在网站上有大量的学习视频,从而,在技术上可以实现。

开发上的可行性

此系统是B/S架构的系统,只需有浏览器即可,使得本系统可以很轻松的得到硬件的支撑并且运行起来,硬件并不需要安装一些软件支撑,这降低了开发的复杂度以及成本,所以在开发上是可行的。

指 导 教 师 意 见

       指导老师签字:                              

院本科毕业论文(设计)指导小组审核意见

组长签字:                           

安顺学院本科毕业论文(设计)开题报告

完成时间:     年   月   日

论文题目

基于hive数据仓库的考研信息离线分析系统的设计与实现                  

学生姓名

杨娣荧

专   业

数据科学与大数据技术

学   科

工学

电子邮箱

1047399243@qq.com

联系电话

18786125674

指导教师

于为

随着互联网技术的飞速发展,人们日常所产生的数据也在日益增长,社会也步入了大数据时代而数据多带来的不仅仅存储方面的问题在数据价值方面也带来了不可忽视的问题

大量的数据中,人们很难找到所需要有价值的数据。另外,网络的发达,同时也存在不少安全隐患,人们在找寻自己想要的数据时,可能会得到虚假信息,甚者,个人信息被盗取。所以本项目通过爬取数据分析存储于数据仓库中,以最直观的方法展现出来便于查询。

研 究 现 状 述 评

由于大数据时代的到来,人们每天产生的数据过多且冗余,数据密度高价值低的问题所以在大量的数据下面人们很难找出有价值的那部分数据现目前考研的人越发的多,但最开始的小白不知道从哪里抓起,上网查询资料,数据过于大量且繁琐,耽误很多时间,而本项目则是通过爬取研招网将各大学校的招生人数,专业及需要考查的科目收集整理做一个可视化平台,供有需要的人方便查询,用户可通过注册登录进入系统搜索自己想了解的信息。

拟 研 究 的 目 标 和 主 要 内 容

拟研究的目标:

本系统主要是运用Python语言、hive数据仓库、大数据分析技术以及Pycharm开发工具等技术和软件展现考研信息离线分析可视化,项目要求有数据采集,数据清洗,数据存储和数据展示等功能,在整体上能够给客户最直观的看到有价值的信息。

拟研究的主要内容:

通过爬取研招网及各大高校的考研信息数据,爬取各大院校的招生专业、招生人数及往年的录取分数线等,存储于本地数据库中,再通过sqoop将数据上传到hive数据仓库对数据进行清洗及分析,最后对其呈现一个可视化平台及实现用户查询功能。

研 究 的 主 要 方 法、手 段 和 途 径 及 研 究 进 度 计 划

主要方法:

    需求分析、结构设计、数据采集、数据库分析、数据库设计、数据库搭建、前端界面设计、大数据架构选型、大数据分析、大数据开发、后端开发、系统测试和系统运行维护。

主要手段

    通过实现各个模块方法,实现大数据架构与后端联调,前后端的构建为主要手段,先采用大数据对数据进行分析,将分析后的数据存储到数据库,后端从数据库中获取数据,传给前端,前端进行展示。

主要途径:

    为实现其功能和需求,开发工具使用Pycharm、IDEA,数据库搭建使用Navicat数据库客户端连接工具,服务器使用Apache服务器,大数据开发环境为linux环境,后端使用springboot的java框架。

进度计划:

2022年05月22日至06月2日:毕业设计选题

2022年06月28日至06月30日:完成论文开题报告

2022年07月01日至07月4日:进行开题答辩  

2022年07月05日至07月25日:实现系统的所有实现与设计,并且完成初稿

2022年07月28日至07月30日:进行中期检查

2022年08月01日至08月20日:修改初稿并完成论文二稿

2022年08月22日至08月28日:完成该系统的各项测试

2022年08月22日至09月16日:修改二稿并完成论文三稿

2022年09月16日至09月17日:指导教师评阅时间

2022年09月18日至09月20日:评阅教师评阅时间

2022年09月21日至09月25日:进行论文答辩

2022年09月26日至09月28日:论文定稿

论   文   提   纲

1.绪论

    简述课题背景及来源、国内外研究现状、研究的目标和内容、和课题的意义和目的。

2.系统开发环境及相关技术

    开发环境:IDEA后端开发以及大数据开发,Pycharm数据爬取,navicat数据库设计,linux大数据环境搭建。

    技术选型:前端使用html,css,javascript以及echars组件进行展示,后端使用java开源框架springboot,和数据库连接框架mybatis和mysql,大数据使用zookeeper进行集群分布式协调,flume和kafka进行数据采集和传输,hbase进行数据离线存储,hive实时同步hbase数据进行离线分析,spark streaming对数据进行实时分析并且存储。

3.基于hive数据仓库的考研信息离线分析可视化平台分析

    研究目标、平台需求分析、可行性分析、性能分析。

4.基于hive数据仓库的考研信息离线分析可视化平台设计

    mysql,hive数据库的设计、平台总体框架。

5.基于hive数据仓库的考研信息离线分析可视化平台展现

    主要实现的功能模块:前端数据展示,大数据数据获取,数据清洗,数据存储,数据展示,后端接口编写,数据库设计。

 6.结语

     从此项目中对项目的从0到1开发,从前端到后端再到大数据进行了一个贯通,对个人的成长极其重要

开 题 报 告 主 要 参 考 文 献

[1]邓凤明. 大数据生态系统大数据分析与应用实验课程体系中的应用研究[D].中央民族大学,2019.

[2]A Study of Multicultural Space in Seoul : Analysing the Coverage of Foreign Communities with News Big Data Analytics ‘BigKinds’ for 27 Years[J]. Journal of Media Economics & Culture,2017,15(2):

[3]李维,陈江治,程丽萍,刘雨航,魏周思宇.大数据分析对消费者行为的影响[J].商业故事,2018,{4}(20):107.

[4]戴红芳,罗金光,先晓兵.基于数据仓库的数据分析探索与实践[J].中国教育信息化,2015(10):13-15.

[5]高运华.基于数据仓库的数据质量分析和评估[J].黑龙江科技信息,2014(20):165.

[6]王峰.基于数据仓库的大学生成绩分析与应用[J].计算机光盘软件与应用,2013,16(05):207-208.

[7]刘珍珍.基于数据仓库的高中学生成绩分析模型设计[J].电脑知识与技术,2011,7(03):495-496.

[8]岳晓融,张立国.大数据分析在高校精准化就业服务模式中的应用研究[J].中国教育信息化,2022,28(05):105-113.

[9]Lee In,Mangalaraj George. Big Data Analytics in Supply Chain Management: A Systematic Literature Review and Research Directions[J]. Big Data and Cognitive Computing,2022,6(1).

[10]程学旗,刘盛华 ,张儒清 .大数据分析处理技术新体系的思考[J].中国科学院院刊,2022,37(01):60-67.DOI:10.16418/j.issn.1000-3045.20211117005.

[11]王宏,嵇绍国.大数据分析的现实应用及发展趋势研究[J].信息网络安全,2021(S1):134-138.

[12]Raghotham Murthy,Rajat Goel. Peregrine: Low-latency queries on Hive warehouse data[J]. XRDS: Crossroads, The ACM Magazine for Students,2012,19(1).

[13]王庆涛,吕迎丽.试论如何采用数据仓库技术建设管理信息系统[J].信息通信,2020(06):188-189.

[14]方昕.数据仓库技术在高校信息系统的运用[J].信息与电脑(理论版),2019(10):143-144.

[15]张军,王芬芬.数据仓库技术在高校数据统计与分析系统中的应用研究[J].智能计算机与应用,2019,9(03):122-125.

指 导

教 师

意 见

指导教师(签名):               

  

                  

(设计)

组  

审  

核  

意  

审核组长(签名):                 

审核小组成员(签名):1.              

                            2.              

                            3.              

                            4.              

                 

核心算法代码分享如下:

# coding=utf-8
import sys

import demjson
from tool import SqlHelper

"""
绘画动态国家线柱状图需要的数据
"""
# 定义结构
total_data = {}

def createJson(subject, scores):
    # sql调用
    sql = SqlHelper.MySQLhelper()
    # 年份
    years = []

    # 查询年份
    information = sql.fetch_all_args("select distinct year from stateline where subject = %s order by year", (subject))
    for infor in information:
        # 添加年份
        years.append(str(infor['year']))
        # 根据年份和类别查询分数
        inforsA = sql.fetch_all_args("select * from stateline where subject = %s and year = %s and classifier = 'A类'",
                                     ("理学", infor['year']))
        inforsB = sql.fetch_all_args("select * from stateline where subject = %s and year = %s and classifier = 'B类'",
                                     ("理学", infor['year']))


        # 转换格式,添加列表
        for inforA, inforB in zip(inforsA, inforsB):
            datas = []
            data = {}
            daA = []
            daB = []
            daY = []

            # 添加B类地区分数
            daB.append(inforB['equal100'])
            daB.append(inforB['greater100'])
            daB.append(inforB['total'])
            data['data'] = daB
            datas.append(data)
            data = {}

            # 添加你输入的分数
            daY.append(scores[0])
            daY.append(scores[1])
            daY.append(scores[2])
            data['data'] = daY
            datas.append(data)
            data = {}


            # 添加A类地区分数
            daA.append(inforA['equal100'])
            daA.append(inforA['greater100'])
            daA.append(inforA['total'])
            data['data'] = daA
            datas.append(data)

            # 添加分数数据
            total_data['y' + str(infor['year'])] = datas
    # 添加年份
    total_data['years'] = years
    # 添加专业
    total_data['subject'] = subject

if __name__ == '__main__':
    subject = sys.argv[1]
    scores = demjson.decode(sys.argv[2])
    # subject = '理学'
    # scores = {'scores': [55,55,155]}
    # 调用生成json函数
    createJson(subject, scores['scores'])
    print(total_data)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592367.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Hadoop】--基于hadoop和hive实现聊天数据统计分析,构建聊天数据分析报表[17]

目录 一、需求分析 1、背景介绍 2、目标 3、需求 4、数据内容 5、建库建表 二、ETL数据清洗 1、数据问题 2、需求 3、实现 4、扩展概念:ETL 三、指标计算 1、指标1:统计今日消息总量 2、指标2:统计每小时消息量、发送量和接收用…

shpfile转GeoJSON;控制shp转GeoJSON的精度;如何获取GeoJSON;GeoJSON是什么有什么用;GeoJSON结构详解(带数据示例)

目录 一、GeoJSON是什么 二、GeoJSON的结构组成 2.1、点(Point)数据示例 2.2、线(LineString)数据示例 2.3、面(Polygon)数据示例 2.4、特征(Feature)数据示例 2.5、特征集合&…

Leetcode—1056. 易混淆数【简单】Plus

2024每日刷题(126) Leetcode—1056. 易混淆数 💩山实现代码 class Solution { public:bool confusingNumber(int n) {int arr[10] {0};int notNum 0;int arr2[12] {0};int size 0;while(n) {int x n % 10;arr[x] 1;arr2[size] x;if(…

自动化测试适用场景

日常大家都用自动化去写测试脚本。但是自动化可不仅仅可以工作写脚本,还可以应用到如下领域: 1. 自动化测试脚本:自动化测试是软件测试 领域中最常见的自动化应用领域。它可以通过 自动化测试工具和脚本来自动化执行测试用例 &#xff0c…

水仙花数问题

问题描述: 求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。 #in…

VS Code 保存+格式化代码

在 VSCode 中,使用 Ctrl S 快捷键直接保存并格式化代码: 打开 VSCode 的设置界面:File -> Preferences -> Settings在设置界面搜索框中输入“format on save”,勾选“Editor: Format On Save”选项,表示在保存…

Java 【数据结构】常见排序算法实用详解(下) 冒泡排序/快速排序/归并排序/非基于比较排序【贤者的庇护】

登神长阶 上古神器-常见排序算法 冒泡排序/快速排序/归并排序/非基于比较排序 💰一.前言 为保障知识获取的可读性,以及连贯性,再开始可以适当的重新温习前文内容 :Java 【数据结构】常见排序算法实用详解(上&#xf…

TWS 蓝牙耳机 ESD EOS保护方案

1. TWS 蓝牙耳机 TWS(True Wireless Stereo)蓝牙耳机是指没有传统连接线的完全无线耳机,通常由两个分别放置在耳朵中的独立耳机组成,提供立体声音效。这类耳机在近年来越来越受欢迎,因为它们提供了更自由、更便捷的音…

有限单元法-编程与软件应用(崔济东、沈雪龙)【PDF下载】

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

MLP手写数字识别(3)-使用tf.data.Dataset模块制作模型输入(tensorflow)

1、tensorflow版本查看 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、MNIST数据集下载与预处理 (train_images,train_labels),(test_images,test_labels) tf.keras.datasets.mnist.load_data()…

JSON.toJSONString() 输出 “$ref“:“$[0]“问题解决及原因分析

一、背景 在构建一个公共的批处理方法类的时候,在测试输出的时候,打印了" r e f " : " ref":" ref":"[0][0]"的内容,这让我比较疑惑。不由得继续了下去… 二、问题分析 首先,我们需要…

《苍穹外卖》前端课程知识点记录

一、VUE基础知识 基于脚手架创建前端工程 1. 环境要求 安装node.js:Node.js安装与配置(详细步骤)_nodejs安装及环境配置-CSDN博客查看node和npm的版本号 安装Vue CLI:Vue.js安装与创建默认项目(详细步骤)…

DHCPv4_CLIENT_ALLOCATING_06: 发送DHCPDISCOVER消息 - 在没有收到DHCPOFFER消息时超时并重新发送

测试目的: 验证DOIP客户端在未收到DHCP服务器的DHCOFFER消息时,能够正确地超时并重传DHCPDISCOVER消息。 描述: 在DOIP网络环境中,当客户端(DUT)启动并尝试获取IP地址时,它首先发送DHCPDISCO…

IoTDB 入门教程 基础篇⑨——TsFile导入导出工具

文章目录 一、前文二、准备2.1 准备导出服务器2.2 准备导入服务器 三、导出3.1 导出命令3.2 执行命令3.3 tsfile文件 四、导入4.1 上传tsfile文件4.2 导入命令4.3 执行命令 五、查询六、参考 一、前文 IoTDB入门教程——导读 数据库备份与迁移是数据库运维中的核心任务&#xf…

获取淘宝商品销量数据接口

淘宝爬虫商品销量数据采集通常涉及以下几个步骤: 1、确定采集目标:需要明确要采集的商品类别、筛选条件(如天猫、价格区间)、销量和金额等数据。例如,如果您想了解“小鱼零食”的销量和金额,您需要设定好价…

设计模式之前端控制器模式

想象一下,你的Java Web应用是个交响乐团,每个功能模块是乐手,而用户请求就像是一首首待演绎的曲目。在这场音乐盛宴中,谁来保证演出的流畅与协调?答案就是——前端控制器模式!它如同乐队的指挥,…

用LangChain打造一个可以管理日程的智能助手

存储设计定义工具创建llm提示词模板创建Agent执行总结 众所周知,GPT可以认为是一个离线的软件的,对于一些实时性有要求的功能是完全不行,比如实时信息检索,再比如我们今天要实现个一个日程管理的功能,这个功能你纯依赖…

短视频素材去哪里找免费?短视频素材从哪儿下载?

在这个数字内容为王的时代,视频已经成为沟通信息和吸引观众的强大工具。无论是在市场营销、教育还是娱乐领域,高质量的视频素材都是制作引人注目内容的关键。以下列出的网站提供多样的视频素材,帮助您增强视觉叙述,并在竞争激烈的…

2022 HITCON -- fourchain-kernel

前言 很久没碰内核利用相关的东西了,这个题目都调了我两天(:所以还是得熟能生巧啊 题目分析 内核版本:v5.10,所以不存在 cg 隔离、可以使用 userfaultfdkaslr、smap、smep 开启CONFIG_SLAB_FREELIST_RANDOM 和 CONF…