赞
踩
核心算法代码分享如下:
- #使用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]。而运用大数据技术对符合相似需求类型的旅游信息进行整理计算和归纳,能够为个体需求提供更加契合的精准服务和更加合理的旅行体验。使用基于Hadoop的MapReduce计算处理框架[2],对旅游景点评价数据进行归纳推理能够为用户提供更加精准舒适的旅行服务。 为了更好的满足人们的旅游需求,摒弃传统出行的各局限性跟上信息时代的高速发展,通过汇编语言开发出能够在线智能搜索的旅游网站,并且能够高效的对其管理的系统成为目前的发展趋势[3]。目前,旅游网站越来越多,其中绝大多是由旅游爱好者和文化部门所创建,百度搜索旅游网站就会看到各种不同的旅游网站,排名前几的有:携程,去哪儿,飞猪,同程,马蜂窝等热门旅游网站[2]。这类网站一般都是独立公司开发出来的产品,网站规模大,旅游信息也比较全面,客户访问人次多,打开他们的首页会发现除了内容布局有所出入,其推荐结果,热门景点,排行榜都是一样的必不可少。除了上述大型的旅游网站,还有一些小型旅游网站,这类小型旅游网站往往规模小,关于旅游信息的内容上也有所侧重,大多为驴友个人所创。 旅游网站给用户和管理员都带来了很大方便,一般旅游网站都是通过数据库管理、软件协作来实现用户与管理员之间的友好操作,由此设计而成[2]。计算机快捷高效的协助管理员解决管理工作可以实现对旅游数据管理自动化的巨大优势,因此计算机成为现代管理应用主要工具也是必然趋势。 | |
文献综述(对已有相关代表性研究成果的综合介绍与评价) 国内研究现状: 近年来,随着中国旅游业的迅速发展,旅游数据呈现出爆炸性增长。国内对于基于大数据的旅游分析和推荐系统的研究逐渐增多。其中,一些研究集中于利用Hadoop和Spark这类大数据处理框架对旅游数据进行处理和分析。例如,去哪儿网的研究团队针对旅游评论数据,利用Spark进行情感分析,从而为旅游景区提供有益的建议。另外,还有一些研究结合了深度学习算法,如腾讯云团队开发的基于深度学习的旅游景点推荐系统,该系统能够根据用户的喜好和历史行为为其推荐合适的旅游目的地。 国外研究现状: 在国外,对于基于Hadoop+Spark的旅游数据分析与推荐系统的研究也相当活跃。例如,斯坦福大学的一个研究团队利用Spark对全球范围内的旅游数据进行处理和分析,旨在预测旅游趋势和热门目的地。他们的工作不仅对旅游业有重要影响,还对城市规划和政策制定具有指导意义。此外,谷歌也推出了自己的旅游推荐系统,该系统基于用户的历史搜索数据和点击行为,利用机器学习算法为用户推荐相关的旅游产品和服务。 发展趋势: 随着技术的不断进步,未来的旅游数据分析与推荐系统将更加智能化和个性化。基于大数据和机器学习的推荐系统将能够更好地理解用户的喜好和需求,从而为其提供更加精准的推荐。同时,随着物联网和传感器技术的发展,旅游数据来源将更加丰富,这为更深入的数据分析和预测提供了可能。 总的来说,基于Hadoop+Spark的旅游数据分析与推荐系统是一个充满挑战和机遇的研究领域。国内外的研究者们正努力探索如何更好地利用大数据技术为旅游业提供有价值的信息和服务,这将为推动旅游业的发展和提升用户体验起到重要作用。 | |
研究内容(包括基本思路、框架、主要研究方式、方法等)
二、 系统框架
三、 研究方式和方法 (一)使用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、纸张填写不够可另加附页。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。