计算机毕业设计hadoop+spark+hive汽车评价情感分析 新能源汽车推荐系统 汽车数据分析可视化 新能源汽车推荐系统 汽车爬虫 机器学习 深度学习 人工智能 知识图谱 大数据毕业设计-程序员宅基地

技术标签: python  spark  人工智能  hadoop  知识图谱  大数据  大数据毕业设计  推荐算法  

贵州商学院毕业论文(设计)任务书

学生信息

学号

学院

计算机与信息工程学院

班级

数据科学与大数据技术XXXX-X班

姓名

专业

数据科学与大数据技术

教师

信息

姓名

 职称

学历

任务书

发出时间

2022年11月21日

论文(设计)

题目

本课题研究的目的在于使用户更好的了解市场上的汽车信息,便于用户选择出适合自己的智能汽车。另外通过此次基于大数据的汽车数据分析的设计与实现,了解了系统设计的框架原理,掌握了基本程序框架的设计与实现,巩固对hadoop、spark等大数据开发框架的了解以及它们在使用方面知识的学习和掌握。掌握汽车数据分析系统的开发过程、python爬虫技术、熟练掌握数据库的运用。根据对大数据的分析与讨论,提供与用户的交互界面,完成系统的设计和开发,开发出来的系统能展示出它所具备的功能并能应用到现实中。本系统的主要功能如下:

1、推荐系统:包含协同过滤算法的两种实现(基于用户、基于物品)、基础业务功能(短信注册、支付宝沙箱支付定金、AI识别、浏览等);

2、后台管理系统:对用户、汽车等数据进行管理;

3、爬虫:爬取懂车帝汽车数据作为基础数据集,并可以实时更新;

4、数据大屏驾驶舱:使用Spark实时计算框架完成数据统计,以echarts形式进行可视化显示;

二、主要要求:

毕业论文主体是毕业论文文本的核心部分,一般应包括中文摘要与中文关键词、英文摘要与英文关键词、前言或引言、毕业论文正文、结论或结语、参考文献等部分。

1.论文摘要

摘要必须是对全文内容的高度概括,应反映出毕业论文的内容、方法、成果和结论,要语句通顺,文字流畅。摘要中不宜使用公式、图表、不标注引用文献编号。中文摘要字数控制在300字以内,英文摘要应与中文摘要内容一致,并符合英语语法规范,表述流畅。

2.关键词

关键词是供检索用的主题词条,应采用能覆盖毕业论文主要内容的词条。关键词一般为3-5个。英文的关键词应与中文关键词一致。

关键词之间需用分号隔开,最后一个关键词后不打标点符号。

3.前言或引言

前言或引言部分应对选题相关的国内外文献进行综述。其主要内容包括:选题的背景及目的、国内外研究状况、尚待进一步研究和解决的问题、设计和研究方法等。

4.毕业论文正文

毕业论文的正文部分要结构合理,层次清楚,重点突出,文字简练、通顺,无科学性错误。

正文部分的内容及要求应包括以下各方面:

(1)数据的处理及分析

(2)模型的建立与评估

(3)对本研究内容及成果应进行较全面、客观的理论阐述,应着重指出本研究内容中的创新、改进与实际应用之处。凡引用、转述、参考他人的成果或资料,均须注明出处。

(4)毕业论文应推理正确,结论清晰,无科学性错误。

5.毕业论文中的各级标题

毕业论文中各级标题要突出重点、简明扼要。标题中尽量不采用英文缩写词,若必须缩写,应使用本学科的通用缩写词。

6.结论或结语

结论或结语是毕业论文的总结,要求精炼、准确地概述全文的主要观点。

7.参考文献

毕业论文的撰写应本着严谨求实的科学态度,凡有直接引用他人成果之处,均应进行标注,并按引文在正文中出现的先后顺序列于参考文献中。一篇论著在论文中多处直接引用时,在参考文献中只应出现一次,应将标注序号归并到一起集中列出。仅参考但未直接引用的与毕业论文选题有关的著作和论文也应在参考文献中列出,排于直接引用的参考文献之后,并连续编序号。

8.后置部分

(1)致谢

致谢中主要感谢导师和对论文工作有直接贡献及帮助的人士和单位。

(2)附录

对于一些不宜放入正文中、但作为毕业论文(设计)又是不可缺少的部分,或有重要参考价值的内容,可编入毕业论文(设计)的附录中。例如,过长的公式推导、重复性的数据、图表、程序全文及其说明等。

三、预期目标:

1.论文应该内容丰富、结构合理、资料翔实,论证具有说服力。

2.通过阅读、查阅相关文献及资料,参考现有大数据系统以及解决问题的思路及方法,在此基础上对本课题进行深入研究。

3.获取汽车相关数据,并将其进行集成、清洗、分析等处理,构建后台开发框架应用于本系统。

4.针对本课题的需求分析结果提出建议、策略或者看法,要有一定创新性。

5.正文字数不少于8000字,成果形式为论文。

四、计划进程:

1、2022年10月31日——2022年11月20日,师生双选,学生确定选题

2、2022年11月21日——2022年11月30日,导师下达任务书

3、2022年12月1日——2022年12月20日,完成开题报告及开题评审

4、2022年12月21日——2023年3月1日,调研,撰写论文初稿

5、2023年3月2日——2023年4月22日,修改论文,完成定稿,准备答辩PPT

6、2023年4月23日——2023年5月7日,论文答辩及最终修改

7、2023年5月8日——2023年5月10日,提交论文最终稿、推荐优秀论文

五、主要参考文献:

[1]基于Python的网上购物数据爬取[J]. 高雅婷,刘雅举.  现代信息科技. 2021(16)

[2]基于Python的微博网络舆情监控系统设计与实现[J]. 李文骞.  电脑编程技巧与维护. 2021(12)

[3]基于Python的网络爬虫和反爬虫技术研究[J]. 周毅,宁亮,王鸥,孙海波,何金.  现代信息科技. 2021(21)

[4]基于Python的新浪微博中爬虫程序维护方法[J]. 何波.  软件. 2022(02)

[5]网络安全下的Python语言教学[J]. 成少梅.  网络安全技术与应用. 2022(06)

[6]Python数据工具在高职院校市场调研中的应用[J]. 宋超,华臻.  电脑编程技巧与维护. 2021(02)

[7]基于51job网站招聘信息的爬取与分析——以Python技术岗位为例[J]. 毛遂,毛红霞.  网络安全技术与应用. 2021(04)

[8]大数据背景下依托于Python的网络爬虫技术研究[J]. 周竞鸿.  信息系统工程. 2021(03)

[9]基于Python的分布式多主题网络爬虫的研究与设计[J]. 张胜敏,王爱菊.  开封大学学报. 2021(01)

[10]基于Python的网页信息爬取技术研究[J]. 单艳,张帆.  电子技术与软件工程. 2021(14)

[11]云计算环境下气象大数据服务应用[J]. 华丽,陈澄.  农业与技术. 2019(20)

[12]主题网络爬虫研究综述[J]. 于娟,刘强.  计算机工程与科学. 2020(02)

[13]高性能网络爬虫:研究综述[J]. 周德懋,李舟军.  计算机科学. 2019(08)

[14]风电场发电功率的建模和预测研究综述[J]. 王丽婕,廖晓钟,高阳,高爽.  电力系统保护与控制. 2019(13)

[15]风电场风速和发电功率预测研究[J]. 杨秀媛,肖洋,陈树勇.  中国电机工程学报. 2020(11)

六、教研室审核意见:

同意

      教学系主任(签字):  

2021年11月28日

*注:本表格在线填写审核。

核心算法代码分享如下:

from flask import Flask, request
import json
from flask_mysqldb import MySQL

# 创建应用对象
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'bigdata'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '123456'
app.config['MYSQL_DB'] = 'hive_car'
mysql = MySQL(app)  # this is the instantiation


@app.route('/tables01')
def tables01():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table01''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['province','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables02')
def tables02():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table02 ORDER BY ctime desc limit 7 ''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['ctime','num','rk']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables03')
def tables03():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table03 order by num desc''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables04')
def tables04():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table04''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_type','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route("/getmapcountryshowdata")
def getmapcountryshowdata():
    filepath = r"D:\\hadoop_spark_hive_mooc2024\\server\\data\\maps\\china.json"
    with open(filepath, "r", encoding='utf-8') as f:
        data = json.load(f)
        return json.dumps(data, ensure_ascii=False)


@app.route('/tables05')
def tables05():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table05''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['name','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables06')
def tables06():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table06''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['comment_result','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables07')
def tables07():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table07''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','car_rank']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables08')
def tables08():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table08''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['fw','num']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)

@app.route('/tables09')
def tables09():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT * FROM table09''')
    #row_headers = [x[0] for x in cur.description]  # this will extract row headers
    row_headers = ['car_name','score']  # this will extract row headers
    rv = cur.fetchall()
    json_data = []
    #print(json_data)
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return json.dumps(json_data, ensure_ascii=False)


if __name__ == "__main__":
    app.run(debug=False)

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

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法