☰
高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统
2026/9/27 22:57:11 网站建设 项目流程

💖💖作者:计算机编程小央姐
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持! 💜💜

💕💕文末获取源码

目录

    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统功能介绍
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统技术介绍
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统背景意义
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统演示视频
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统演示图片
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统部分代码
    • 高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-结语

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统功能介绍

本系统是基于 Hadoop 与 Spark 大数据技术搭建的北京美食店铺数据可视化分析系统,依托两份经过清洗处理的数据集,分别存储北京美食店铺基础信息和用户评论数据,借助 HDFS 完成原始数据集的存储管理,利用 Spark 完成大批量数据的读取、关联、聚合与挖掘计算,支持 Python 语言结合 Django 后端向外提供数据接口,前端通过 Vue、Echarts 实现各类分析图表的展示。系统包含区域分布、菜系结构、消费水平、口碑评价、店铺时序成长、评论文本挖掘、口碑聚类挖掘七大分析模块,能够完成北京 16 个行政区美食店铺地理分布统计、不同菜系人均消费与评分对比、用户口味服务环境多维度评价统计,同时使用 TF-IDF 提取评论关键词、LDA 模型挖掘评论主题,依靠 K-Means 完成店铺口碑画像聚类、FP-Growth 挖掘菜品共现规则,还能用孤立森林识别口碑异常店铺,所有分析结果会处理成结构化数据存入 MySQL,供前端渲染地图、热力图、时序曲线图、词云等可视化图表,完成从大数据预处理、挖掘计算到可视化展示的完整流程,为本课题的数据分析需求提供整套可运行的大数据分析服务。

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统技术介绍

大数据框架:Hadoop+Spark(本次没用Hive,支持定制)
开发语言:Python+Java(两个版本都支持)
后端框架:Django+Spring Boot(Spring+SpringMVC+Mybatis)(两个版本都支持)
前端:Vue+ElementUI+Echarts+HTML+CSS+JavaScript+jQuery
详细技术点:Hadoop、HDFS、Spark、Spark SQL、Pandas、NumPy
数据库:MySQL

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统背景意义

城市餐饮消费信息越来越多,各类美食平台积累了大量店铺信息和用户点评内容,这些零散的数据藏着餐饮消费的特征,单纯靠人工很难从几万条店铺记录、十几万条评论里面找出规律。普通单机工具处理这么多数据很容易遇到性能瓶颈,很难做多维度的交叉统计和文本挖掘。北京作为规模很大的消费城市,餐饮品类丰富,不同区域、菜系的消费情况差别明显,有不少可以分析的内容。现在大数据相关技术已经比较成熟,Spark 适合批量数据处理,HDFS 可以存放较大规模的数据集,很多本科阶段的大数据课程也会接触这类框架,刚好可以借助这套技术栈,把北京美食店铺和评论数据做清洗、关联、挖掘,用可视化的方式把隐藏的消费特征呈现出来,也适合用来完成大数据方向的本科毕业设计。做这套系统主要是把课堂上学到的大数据知识落地实践一遍,自己完整走完数据集预处理、Spark 数据分析、挖掘算法实现、后端接口开发和可视化展示的整个流程,加深对 Hadoop、Spark 以及几种经典数据挖掘算法的理解。这套系统产出的分析结果可以简单展示北京餐饮的区域分布、菜系消费特点以及用户评价倾向,能给普通食客挑选餐厅提供一点参考,也能给小型餐饮从业者粗略了解片区餐饮行情提供数据参考。需要说明的是这只是毕业设计项目,数据来源和分析维度都有限,并不适合直接用来做商业决策。整个项目也能锻炼数据清洗、多表关联处理和后端数据接口开发的能力,为后续接触大数据项目积累基础的实战经验。

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统演示视频

演示视频

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统演示图片








高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-系统部分代码

frompyspark.sqlimportSparkSessionfrompyspark.sqlimportfunctionsasFfrompyspark.ml.clusteringimportKMeansfrompyspark.ml.featureimportVectorAssemblerfrompyspark.ml.clusteringimportLDAfrompyspark.ml.featureimportCountVectorizer spark=SparkSession.builder.appName("BeijingFoodAnalysis").getOrCreate()defshop_kmeans_cluster(shop_df):assembler=VectorAssembler(inputCols=["shop_score","avg_cost","real_review_count"],outputCol="features")vec_df=assembler.transform(shop_df)kmeans=KMeans(k=4,seed=2024,featuresCol="features",predictionCol="cluster_label")kmeans_model=kmeans.fit(vec_df)cluster_result=kmeans_model.transform(vec_df)cluster_mapping={0:"平价高分小店",1:"高端商务餐厅",2:"网红热度店铺",3:"平价快餐店铺"}map_udf=F.udf(lambdax:cluster_mapping.get(x,"其他类型"))result_df=cluster_result.withColumn("cluster_name",map_udf(F.col("cluster_label")))save_df=result_df.select("shop_id","shop_name","avg_cost","shop_score","real_review_count","cluster_label","cluster_name")save_df.write.mode("overwrite").option("header","true").csv("/bigdata/BeijingFoodAnalysis/output/shop_cluster_result")returnsave_dfdefreview_lda_topic(review_df):words_df=review_df.select("shop_id","content_clean").filter(F.col("content_clean").isNotNull())cv=CountVectorizer(inputCol="content_clean",outputCol="word_vector",vocabSize=800,minDF=5)cv_model=cv.fit(words_df)cv_df=cv_model.transform(words_df)lda=LDA(k=4,maxIter=30,featuresCol="word_vector",topicCol="topic_id")lda_model=lda.fit(cv_df)lda_result=lda_model.transform(cv_df)topic_words=lda_model.describeTopics(10)topic_mapping={0:"老字号就餐体验",1:"网红打卡感受",2:"服务相关吐槽",3:"菜品口味评价"}topic_udf=F.udf(lambdax:topic_mapping.get(x,"未知主题"))final_df=lda_result.join(topic_words,on="topic_id",how="left")final_df=final_df.withColumn("topic_name",topic_udf(F.col("topic_id")))final_df.select("shop_id","content_clean","topic_id","topic_name","topicTerms").write.mode("overwrite").option("header","true").csv("/bigdata/BeijingFoodAnalysis/output/review_lda_topic")returnfinal_dfdefarea_cuisine_heatmap(shop_df):filter_df=shop_df.filter(F.col("county").isNotNull()&F.col("cuisine").isNotNull())group_df=filter_df.groupBy(F.col("county"),F.col("cuisine")).agg(F.count(F.col("shop_id")).alias("shop_total"),F.round(F.avg(F.col("shop_score")),2).alias("avg_score"),F.round(F.avg(F.col("avg_cost")),2).alias("avg_consume"))sorted_df=group_df.orderBy(F.col("county").asc(),F.col("shop_total").desc())pivot_df=sorted_df.groupBy("county").pivot("cuisine").agg(F.first("shop_total"))final_heat_df=sorted_df.select("county","cuisine","shop_total","avg_score","avg_consume")final_heat_df.write.mode("overwrite").option("header","true").csv("/bigdata/BeijingFoodAnalysis/output/area_cuisine_heat")mysql_prop={"user":"root","password":"123456","driver":"com.mysql.cj.jdbc.Driver"}final_heat_df.write.mode("overwrite").jdbc(url="jdbc:mysql://127.0.0.1:3306/food_bigdata",table="area_cuisine_heat",properties=mysql_prop)returnfinal_heat_df

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统-结语

💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询