大数据毕业设计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

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签