个人简介

一名14年经验的资深毕设内行人,语言擅长Javaphp、微信小程序、PythonGolang、安卓Android

开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。

感谢大家的关注与支持!

各位老师好,我的毕业设计题目是《基于Spark的音乐数据分析项目-音乐数据中心综合数仓项目》。这是一个B/S架构的音乐数据分析系统,主要分为管理员和用户两大模块。管理员可以通过系统实现音乐推荐、歌曲热度分析、歌手影响力评估、音乐风格分类、排行榜生成、评论情感分析以及数据可视化等功能;用户则可以享受个性化推荐、查看热门排行榜、按风格搜索音乐、获取相似音乐推荐和参与评论互动。项目采用Python作为后端开发语言,使用Django框架构建Web应用,通过Scrapy爬虫技术采集数据,利用Hadoop和Spark进行大数据处理,数据存储在MySQL数据库中,前端采用Vue.js结合ECharts实现数据可视化,最终打造一个完整的音乐数据分析平台。


评委老师: 你的项目用到了Spark,能简单说说Spark在你的系统里主要是做什么用的吗?它和Hadoop是什么关系?

答辩学生: Spark主要是用来处理和分析海量音乐数据的,比如计算歌曲热度、歌手影响力这些需要大量运算的任务。它和Hadoop的关系是,Hadoop负责存储数据,Spark负责快速计算,Spark可以从Hadoop的HDFS文件系统中读取数据进行内存计算,速度比传统的MapReduce快很多,适合做实时性要求高的数据分析。


评委老师: 你说要用爬虫采集数据,具体想爬哪些网站?大概会采集哪些字段?如果网站反爬怎么办?

答辩学生: 我打算爬网易云音乐、QQ音乐这些主流平台的公开数据,主要采集歌曲名称、歌手、专辑、播放量、评论内容、用户评分这些字段。关于反爬问题,我计划设置合理的请求间隔,比如每爬一次暂停几秒,模拟正常用户访问;如果碰到IP限制,可能会使用代理IP;另外有些网站需要登录,我会用Selenium模拟浏览器操作,不过这部分我还在学习中。


评委老师: 个性化音乐推荐这个功能怎么实现?准备用什么算法?能简单说下思路吗?

答辩学生: 我初步想先实现基于用户行为的协同过滤算法,就是找到听歌口味相似的用户,然后给用户推荐他相似用户喜欢但他没听过的歌曲。具体做法是用Spark计算用户之间的相似度,然后根据相似度排序生成推荐列表。如果时间来得及,我还想试试基于内容的推荐,就是根据歌曲风格、歌手等特征进行推荐。不过算法部分对我来说比较难,先保证能实现基本功能。


评委老师: 你的系统分了管理员和用户两种角色,为什么管理员能查看用户的听歌历史?这会不会涉及用户隐私问题?

答辩学生: 老师这个问题提得对,我想表达的是管理员可以查看 anonymized(匿名化)的统计数据,比如整体用户的偏好趋势,而不是具体某个人的隐私信息。在系统设计时我会注意数据脱敏,只分析群体行为特征,不涉及单个用户的隐私数据。这个确实是我开题报告里没说清楚的地方,谢谢老师提醒。


评委老师: 你说项目难点之一是"与微信公众号的有机结合",具体怎么结合?准备实现什么功能?

答辩学生: 我的想法是做一个微信公众账号,用户关注后可以通过菜单查看每日音乐排行榜,或者输入关键词搜索歌曲。比如发送"流行",公众号就返回热门流行歌曲列表。技术上打算用微信提供的公众平台接口,把系统的部分查询功能对接过去。不过这个功能我也觉得有难度,如果实现不了可能会先放一放,确保核心功能先完成。


评委老师: 系统要处理海量数据,MySQL会不会成为性能瓶颈?有没有考虑过数据量太大时的解决方案?

答辩学生: 老师说得对,MySQL确实可能扛不住太大的数据量。我目前的想法是,原始大数据先存在Hadoop里,经过Spark分析计算后的结果(比如排行榜、统计报表)再存入MySQL,这样MySQL只存最终结果,压力会小很多。如果后期数据量还是太大,可能会考虑分库分表,或者把历史数据归档。这些也是我准备在实践中摸索的,现在还不是很有把握。


评委老师: 看你的进度安排,2025年3月要完成系统测试,现在已经是11月了,开发进度怎么样?有没有遇到什么困难?

答辩学生: 目前进度还算正常,我已经完成了需求分析和系统设计,数据库表也基本设计好了,爬虫程序写了个初步版本能采到一些数据。最大的困难是Spark的环境配置和基本操作还不熟练,推荐算法的数学原理理解起来也比较吃力。不过我正在看教程和文档,也在B站找了一些视频学习,争取12月底前把Spark跑通,1月开始做核心功能开发。


评委老师: 最后问一个基础问题,为什么选择Django框架而不是Flask?两者有什么区别?

答辩学生: 我选择Django主要是因为它是个"大而全"的框架,有很多现成的功能,比如后台管理、用户认证、ORM这些模块都不用我再从头写了,开发速度快。Flask虽然更轻量灵活,但很多东西都要自己配,对我这种基础不太好的学生来说,Django更容易上手,文档也丰富,遇到问题好查资料。简单说就是Django"开箱即用",更适合我完成毕设的时间要求。


评委老师评价与总结:

xx同学,你的开题报告整体结构完整,对项目的需求和功能描述比较清晰,技术栈选择也基本合理,看得出来做了一定的准备工作。答辩过程中能如实回答技术难点,态度诚恳。

优点在于:项目选题贴近实际应用,能结合当下热门的大数据技术;功能模块划分细致,对管理员和用户的需求考虑比较全面;技术方案可行性强,选择的都是成熟的开源技术。

需要改进的地方:一是对核心技术Spark的理解还停留在表面,建议加强动手实践,真正跑通一个数据分析案例;二是部分功能描述过于理想化,比如微信公众号结合、版权保护等,建议聚焦核心功能,确保基础模块做扎实;三是数据隐私问题要重视,在系统设计中要明确隐私保护机制;四是项目难点分析不够深入,SQL维护、用户留存这些难点要提出具体解决方案。

总体来说,项目具备可行性,建议按照进度安排稳步推进,优先保证爬虫数据采集、Spark基础分析和推荐算法的实现,其他锦上添花的功能可以后续视情况补充。希望能在中期检查时看到原型系统的演示。开题通过,请后续认真完成。


以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取

最后

有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi博主,没有选题的也可以联系我们进行帮你选题定功能和建议

更多推荐