大数据毕业设计Hadoop+Spark+Hive景区游客满意度预测与优化 旅游推荐系统 Apriori算法 景区客流量预测 旅游大数据 旅游景点推荐 景点规划 计算机毕业设计 机器学习 深度学习-程序员宅基地

技术标签: hive  机器学习  spark  人工智能  hadoop  大数据  课程设计  大数据毕业设计  

核心算法代码分享如下:

#使用PySpark完成部分机票指标分析
from pyspark.sql.types import StringType, StructField, IntegerType, DoubleType, StructType

from pyspark.sql.functions import col

from pyspark.sql import SparkSession

csv_format = 'com.databricks.spark.csv'
mysql_url = "jdbc:mysql://bigdata:3306/tour"
prop = {'user': 'root', 'password': '123456', 'driver': "com.mysql.jdbc.Driver"}
# 1.创建SparkSession
spark = SparkSession.builder.appName("table01_task").getOrCreate()

fields = [
    StructField("name", StringType(), True),
    StructField("username", StringType(), True),
    StructField("content", StringType(), True),
    StructField("ctime", StringType(), True),
    StructField("sentiments", DoubleType(), True),
    StructField("star", IntegerType(), True),
    StructField("star_desc", StringType(), True),
    StructField("province", StringType(), True),
    StructField("supports", IntegerType(), True)


]
schema= StructType(fields)
# 2.读取本地文件路径
# flights_data = spark.read.format(csv_format).options( ending='utf-8').load(
#     "hdfs://bigdata:9000/flink_fliggy_flight/flight/hdfs_flights.csv")
flights_data=spark.read.option("header", "false").schema(schema).csv("hdfs://bigdata:9000/ctrip/comments/comments.csv")
# 3.创建临时表
flights_data.createOrReplaceTempView("ods_comments")

# 4.分析sql
tables01_sql='''

              select province,count(1) num
                from ods_comments
                group by province
                order by num desc 

'''
spark.sql(tables01_sql).write.jdbc(mysql_url, 'table01', 'overwrite', prop)

拟选题目

基于hadoop+spark的旅游数据分析与推荐系统的设计与实现

选题依据和研究意义

我国旅游景区众多,五千年的历史文明及广袤无垠的疆土为旅游产业提供了有力客观支持,但是不同的用户对景区地理位置、景观特点、人文历史出行方式选择等旅游服务需求不尽相同。用户在庞大的旅游资源信息中查询契合需求的出行路线,往往既花费时间又消耗精力,使用传统的旅游搜索方式对于旅游资源信息进行查询使用户感到极大困[3]运用大数据技术对符合相似需求类型的旅游信息进行整理计算和归纳,能够为个体需求提供更加契合的精准服务和更加合理旅行体验。使用基于HadoopMapReduce计算处理框架[2],对旅游景点评价数据进行归纳推理能够为用户提供更加精准舒适旅行服务。

为了更好的满足人们的旅游需求,摒弃传统出行的各局限性跟上信息时代的高速发展,通过汇编语言开发出能够在线智能搜索的旅游网站,并且能够高效的对其管理的系统成为目前的发展趋势[3]。目前,旅游网站越来越多,其中绝大多是由旅游爱好者和文化部门所创建,百度搜索旅游网站就会看到各种不同的旅游网站,排名前几的有:携程,去哪儿,飞猪,同程,马蜂窝等热门旅游网站[2]。这类网站一般都是独立公司开发出来的产品,网站规模大,旅游信息也比较全面,客户访问人次多,打开他们的首页会发现除了内容布局有所出入,其推荐结果,热门景点,排行榜都是一样的必不可少。除了上述大型的旅游网站,还有一些小型旅游网站,这类小型旅游网站往往规模小,关于旅游信息的内容上也有所侧重,大多为驴友个人所创。

旅游网站给用户和管理员都带来了很大方便,一般旅游网站都是通过数据库管理、软件协作来实现用户与管理员之间的友好操作,由此设计而成[2]。计算机快捷高效的协助管理员解决管理工作可以实现对旅游数据管理自动化的巨大优势,因此计算机成为现代管理应用主要工具也是必然趋势。

文献综述(对已有相关代表性研究成果的综合介绍与评价)

国内研究现状:

近年来,随着中国旅游业的迅速发展,旅游数据呈现出爆炸性增长。国内对于基于大数据的旅游分析和推荐系统的研究逐渐增多。其中,一些研究集中于利用Hadoop和Spark这类大数据处理框架对旅游数据进行处理和分析。例如,去哪儿网的研究团队针对旅游评论数据,利用Spark进行情感分析,从而为旅游景区提供有益的建议。另外,还有一些研究结合了深度学习算法,如腾讯云团队开发的基于深度学习的旅游景点推荐系统,该系统能够根据用户的喜好和历史行为为其推荐合适的旅游目的地。

国外研究现状:

在国外,对于基于Hadoop+Spark的旅游数据分析与推荐系统的研究也相当活跃。例如,斯坦福大学的一个研究团队利用Spark对全球范围内的旅游数据进行处理和分析,旨在预测旅游趋势和热门目的地。他们的工作不仅对旅游业有重要影响,还对城市规划和政策制定具有指导意义。此外,谷歌也推出了自己的旅游推荐系统,该系统基于用户的历史搜索数据和点击行为,利用机器学习算法为用户推荐相关的旅游产品和服务。

发展趋势:

随着技术的不断进步,未来的旅游数据分析与推荐系统将更加智能化和个性化。基于大数据和机器学习的推荐系统将能够更好地理解用户的喜好和需求,从而为其提供更加精准的推荐。同时,随着物联网和传感器技术的发展,旅游数据来源将更加丰富,这为更深入的数据分析和预测提供了可能。

总的来说,基于Hadoop+Spark的旅游数据分析与推荐系统是一个充满挑战和机遇的研究领域。国内外的研究者们正努力探索如何更好地利用大数据技术为旅游业提供有价值的信息和服务,这将为推动旅游业的发展和提升用户体验起到重要作用。

研究内容(包括基本思路、框架、主要研究方式、方法等)

  •  基本思路

  • 按照数据库第三范式的标准创建数据库表;
  • 爬虫采集数据存入数据库和excel;
  • 基于现有数据集构建推荐算法模型;
  • 按照数据仓库分层的思想进行初步表格划分;
  • 搭建网站进行可视化、推荐系统页面实现;

二、  系统框架

  • 前端框架:vue.js、echarts
  • 后端框架:springboot、mybatis、flask
  • 数据库:mysql
  • 大数据框架:hadoop、hive、spark、azkaban等
  • 爬虫框架:selenium、drissionpage
  • 算法框架:PyTroch、sk-learn、tensorflow

三、 研究方式和方法

(一)使用vmvare导入centos7镜像搭建Linux开发环境;

(二)在虚拟机中安装并配置jdk1.8、hadoop、azkaban、hive、mysql等大数据生态圈组件;

(三)使用Python的DrissionPage自动化工具框架爬取驴妈妈旅游网站本地景点数据,爬取完成以后存入.csv文件中;

(四)编写shell脚本对虚拟机中的.csv原始数据进行数据清洗:去除重复数据、错误数据、补齐缺失字段、数据校校验等,最终的.csv旅游数据文件文件上传至hdfs文件服务器;

(五)通过hive工具将hdfs中海量旅游数据.csv文件导入数据仓库;

(六)编写hive脚本对数据仓库分DWA、DWB、DWT三层数仓架构;

(七)离线指标编写shell脚本调用hive_sql语句对DWA层的数据进行多种维度计算,经过DWB、DWT层形成最终统计数据;实时指标编写Spark之Scala脚本对hdfs中的.csv文件进行分析;

(八)编写shell脚本调用sqoop框架把DWT层的数据传输到mysql中方便制作BI报表;

(九)封装以上全部shell脚本,使用azkaban调度工具进行一键调用;

(十)使用Flask+echarts搭建可视化web环境。使用柱状图、饼状图、折线图、中国地图等直观展示可视化统计结果,指标有:各省星级景点数量、各等级景区收入占比、各省景点销售额、全国热门景点Top、各省景点平均票价、各省景点销售额占比、全国景点信息滚动动态图(景点名称、地区、等级、评分、评论数);

(十一)启动Flask,完成可视化统计图web端展示;

(十二)使用sprringboot+vue.js搭建推荐系统,进行个性化旅游景点推荐、购票等业务功能实现;

研究进程安排

1、1月10日-2月26日:阅读文献,课题准备/熟悉开发环境

2、2月27日-3月19日:毕业实习,撰写实习报告

3、3月20日-3月30日:完成开题报告和文献翻译,熟练掌握开发环境和编程语言

4、4月1日-4月7日:系统需求分析和系统概要设计

5、4月8日-4月30日:系统详细分析与设计,代码编写

6、5月1日-5月7日:系统测试,资料整理

7、5月8日-5月15日:完成论文初稿撰写

8、5月16日-6月10日:论文修改及定稿,准备答辩

主要参阅文献

[1]范路桥,高洁,段班祥,等基于Python+ECharts的旅游销售数据可视化系统[J]电脑编程技巧与维护,2022(6):78-81.

[2]常亮,曹玉婷,孙文平,等旅游推荐系统研究综述J计算机科学,2021.44(10):1-6.

[5]孙文杰,张素莉,许骏,等,长白山旅游数据爬取及可视化分析[].吉林大学学报(信息科学版),2021.39(4):416-420.

[4]南淑萍,王莉丽,王秀友Python Web开发案例教程:慕课版:使用Flask、Tornado、Django[M].北京:人民邮电出版社,2020.

[5]黄源,蒋文豪,徐受蓉大数据分析:Python爬虫、数据清洗和数据可视化[M]北京:清华大学出版社,2020.

[6]吕太之,颜悦,刘子为,等基于Flas和ECharts的科研数据可视化系统[].电脑与电信,2020(11):16-19.

[7]张艺豪,盛丹红,翟丹丹基于Flask和ECharts的光缆数据管理平台[J].电脑编程技巧与维护,2021(6):94-95.

[8]LIDMEI H,SHEN Y,et alECharts:a declarative framework for rapid construction of web-based visualization[J].Visual informatics,2023,2(2):136-146.

[9]HUANG ML.HUANG TH,ZHANG XY.A noveI vMrtual node approach for interactive visual analytics of big datasets in parallel coordinatesJ].Future generation computer systems,2022,55.510-523.

[10]蒙芳,霍建丽学习行为大数据可视化的网络数据库学习仿真(J],计算机仿真,2021,38(9):216-220.

[11]SAKET B,KM H,BROWN E T,et al.Visualization by demonstration:an interaction paradigm for visual data explorationJ].IEEE transactions on visualization&computer graphics,2022,23(1):331-340.

[12]陈东辉,高峰,刘娜,等气象台站历史沿革信息检索可视化系统设计与实现(J].计算机应用,2021,41(Z1):119-124.

[13]范路桥,张良均,郑述招,等Web数据可视化(ECharts版)[M]北京:人民邮电出版社,2021.

其它说明

指导教师是否同意开题

签名:

    年    月    日

教研室教学负责人签署

签名:

年    月    日

说明:

1、开题报告工作从第七学期学生确定毕业设计(论文)题目后开始,在教师指导下,学生通过调研、收资后,于第八学期第四周前完成。

2、纸张填写不够可另加附页。

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

智能推荐

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 数据结构与算法 ——快速排序法_快速排序法