ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

高校通用大数据毕设项目!Hadoop+Spark 北京美食数据分析可视化系统 作者计算机编程小央姐个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持 文末获取源码目录高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统功能介绍高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统技术介绍高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统背景意义高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统演示视频高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统演示图片高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统部分代码高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-结语高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统功能介绍本系统是基于 Hadoop 与 Spark 大数据技术搭建的北京美食店铺数据可视化分析系统依托两份经过清洗处理的数据集分别存储北京美食店铺基础信息和用户评论数据借助 HDFS 完成原始数据集的存储管理利用 Spark 完成大批量数据的读取、关联、聚合与挖掘计算支持 Python 语言结合 Django 后端向外提供数据接口前端通过 Vue、Echarts 实现各类分析图表的展示。系统包含区域分布、菜系结构、消费水平、口碑评价、店铺时序成长、评论文本挖掘、口碑聚类挖掘七大分析模块能够完成北京 16 个行政区美食店铺地理分布统计、不同菜系人均消费与评分对比、用户口味服务环境多维度评价统计同时使用 TF-IDF 提取评论关键词、LDA 模型挖掘评论主题依靠 K-Means 完成店铺口碑画像聚类、FP-Growth 挖掘菜品共现规则还能用孤立森林识别口碑异常店铺所有分析结果会处理成结构化数据存入 MySQL供前端渲染地图、热力图、时序曲线图、词云等可视化图表完成从大数据预处理、挖掘计算到可视化展示的完整流程为本课题的数据分析需求提供整套可运行的大数据分析服务。高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统技术介绍大数据框架HadoopSpark本次没用Hive支持定制开发语言PythonJava两个版本都支持后端框架DjangoSpring Boot(SpringSpringMVCMybatis)两个版本都支持前端VueElementUIEchartsHTMLCSSJavaScriptjQuery详细技术点Hadoop、HDFS、Spark、Spark SQL、Pandas、NumPy数据库MySQL高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统背景意义城市餐饮消费信息越来越多各类美食平台积累了大量店铺信息和用户点评内容这些零散的数据藏着餐饮消费的特征单纯靠人工很难从几万条店铺记录、十几万条评论里面找出规律。普通单机工具处理这么多数据很容易遇到性能瓶颈很难做多维度的交叉统计和文本挖掘。北京作为规模很大的消费城市餐饮品类丰富不同区域、菜系的消费情况差别明显有不少可以分析的内容。现在大数据相关技术已经比较成熟Spark 适合批量数据处理HDFS 可以存放较大规模的数据集很多本科阶段的大数据课程也会接触这类框架刚好可以借助这套技术栈把北京美食店铺和评论数据做清洗、关联、挖掘用可视化的方式把隐藏的消费特征呈现出来也适合用来完成大数据方向的本科毕业设计。做这套系统主要是把课堂上学到的大数据知识落地实践一遍自己完整走完数据集预处理、Spark 数据分析、挖掘算法实现、后端接口开发和可视化展示的整个流程加深对 Hadoop、Spark 以及几种经典数据挖掘算法的理解。这套系统产出的分析结果可以简单展示北京餐饮的区域分布、菜系消费特点以及用户评价倾向能给普通食客挑选餐厅提供一点参考也能给小型餐饮从业者粗略了解片区餐饮行情提供数据参考。需要说明的是这只是毕业设计项目数据来源和分析维度都有限并不适合直接用来做商业决策。整个项目也能锻炼数据清洗、多表关联处理和后端数据接口开发的能力为后续接触大数据项目积累基础的实战经验。高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统演示视频演示视频高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统演示图片高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-系统部分代码frompyspark.sqlimportSparkSessionfrompyspark.sqlimportfunctionsasFfrompyspark.ml.clusteringimportKMeansfrompyspark.ml.featureimportVectorAssemblerfrompyspark.ml.clusteringimportLDAfrompyspark.ml.featureimportCountVectorizer sparkSparkSession.builder.appName(BeijingFoodAnalysis).getOrCreate()defshop_kmeans_cluster(shop_df):assemblerVectorAssembler(inputCols[shop_score,avg_cost,real_review_count],outputColfeatures)vec_dfassembler.transform(shop_df)kmeansKMeans(k4,seed2024,featuresColfeatures,predictionColcluster_label)kmeans_modelkmeans.fit(vec_df)cluster_resultkmeans_model.transform(vec_df)cluster_mapping{0:平价高分小店,1:高端商务餐厅,2:网红热度店铺,3:平价快餐店铺}map_udfF.udf(lambdax:cluster_mapping.get(x,其他类型))result_dfcluster_result.withColumn(cluster_name,map_udf(F.col(cluster_label)))save_dfresult_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_dfreview_df.select(shop_id,content_clean).filter(F.col(content_clean).isNotNull())cvCountVectorizer(inputColcontent_clean,outputColword_vector,vocabSize800,minDF5)cv_modelcv.fit(words_df)cv_dfcv_model.transform(words_df)ldaLDA(k4,maxIter30,featuresColword_vector,topicColtopic_id)lda_modellda.fit(cv_df)lda_resultlda_model.transform(cv_df)topic_wordslda_model.describeTopics(10)topic_mapping{0:老字号就餐体验,1:网红打卡感受,2:服务相关吐槽,3:菜品口味评价}topic_udfF.udf(lambdax:topic_mapping.get(x,未知主题))final_dflda_result.join(topic_words,ontopic_id,howleft)final_dffinal_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_dfshop_df.filter(F.col(county).isNotNull()F.col(cuisine).isNotNull())group_dffilter_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_dfgroup_df.orderBy(F.col(county).asc(),F.col(shop_total).desc())pivot_dfsorted_df.groupBy(county).pivot(cuisine).agg(F.first(shop_total))final_heat_dfsorted_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(urljdbc:mysql://127.0.0.1:3306/food_bigdata,tablearea_cuisine_heat,propertiesmysql_prop)returnfinal_heat_df高校通用大数据毕设项目HadoopSpark 北京美食数据分析可视化系统-结语如果大家有任何疑虑欢迎在下方位置详细交流。
返回列表