基于PySpark进行去哪儿网数据分析

基于PySpark进行去哪儿网数据分析

本文介绍了如何使用PySpark对去哪儿网的数据进行分析,从而洞察用户偏好、热门目的地以及销售趋势。

1.数据加载

我们需要确保已经准备好了PySpark的开发环境,并且准备好了去哪儿网的数据集。可以通过创建SparkSession来初始化Spark环境,并且使用spark.read.csv()方法来读取CSV格式的数据。

from pyspark.sql import SparkSessionspark = SparkSession.builder.appName("QunarTravelAnalysis").getOrCreate()# 数据文件路径
hadoop_url = '{dir}/{file}'# 加载数据
qunar_comment = spark.read.option("quote", "\"").option("multiLine", "true").csv(hadoop_url.format(dir='dataset', file='qunar_comment.csv'), header=True)qunar_list = spark.read.option("quote", "\"").option("multiLine", "true").csv(hadoop_url.format(dir='dataset', file='qunar_list.csv'), header=True)qunar_sales = spark.read.option("quote", "\"").option("multiLine", "true").csv(hadoop_url.format(dir='dataset', file='qunar_sales.csv'), header=True)
qunar_comment.show()
qunar_sales.show()

在这里插入图片描述
在这里插入图片描述

2. 数据分析

在数据加载和预处理完成之后,我们可以开始进行数据分析了。我们可以使用PySpark提供的各种DataFrame操作来分析数据集,比如统计、聚合、排序等。

# 统计评论中key的数量
key_count = qunar_comment.groupBy('key').count().sort('count', ascending=False)
key_count.show()# 分析列表中城市的数量分布
city_count = qunar_list.groupBy('city').count().sort('count', ascending=False)
city_count.show()# 分析销售数据中标题的数量
title_count = qunar_comment.groupBy('title').count().sort('count', ascending=False)
title_count.show()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 结果可视化

除了直接查看数据统计结果外,我们还可以通过可视化方式更直观地展示分析结果。可以使用Matplotlib、Seaborn等库来绘制图表。

import matplotlib.pyplot as pltcity_count_pd = city_count.toPandas()plt.figure(figsize=(10, 6))
plt.rcParams['font.family'] = 'Arial Unicode MS'
plt.bar(city_count_pd['city'], city_count_pd['count'])
plt.xlabel('城市')
plt.ylabel('数量')
plt.title('城市数量分布')
plt.xticks(rotation=45)
plt.show()

在这里插入图片描述

5. 结论

通过对去哪儿网数据的分析,我们可以了解用户的旅行偏好、热门目的地以及销售趋势。这些分析结果可以为旅游行业的决策者提供重要的参考和指导,帮助他们制定更加精准的营销策略和服务规划。
PySpark作为一个强大的数据处理工具,在大数据量下展现了其优势和价值。通过灵活运用PySpark提供的各种功能,我们可以更加高效地进行数据分析和处理,从而更好地理解数据背后的故事。

**如有遇到问题可以找小编沟通交流哦。另外小编帮忙辅导大课作业,学生毕设等。不限于MapReduce, MySQL, python,java,大数据,模型训练等。 hadoop hdfs yarn spark Django flask flink kafka flume datax sqoop seatunnel echart可视化 机器学习等 **
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloudAlibaba:5.1Sentinel的基本使用

概述 简介 Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 官网 https://sentinelguard.io/zh-cn/ Sentinel的历史 2012 年,Sentinel 诞生,主要功能为入口流量控制。 2013-2017 年…

中北机械有限公司将参加2024长三角快递物流供应链与技术装备展览会

参展企业介绍 浙江中北机械有限公司总部位于浙江杭州,生产基地位于浙江桐乡。是一家有着十几年金属制品及仓储物流设施设备生产经验,专业设计、生产、制造各类物流钢制托盘,物流手推车,仓储货架及门店展架,宣传展架等物…

Pytorch读取自己的数据集

数据集 流程图 导包设置tfs创建datasets.ImageFolder创建torch.utils.data.DataLoader() import time import os from tqdm import tqdm import pandas as pd import numpy as np import torch import torchvision import torch.nn as nn import torch.nn.functional as F im…

7天精通Web APIs——正则阶段案例(理论+实战)(第六天)

正则表达式的定义和使用 定义:是一种匹配模式,用于匹配字符串中字符组合 作用:表单验证(匹配)、过滤敏感词(替换)、字符串中提取我们想要的部分(提取) 使用分为两步&…

KP85321 650V栅极驱动器兼容代替IR2110 中高压高低边驱动解决方案

KP85321是一款中高压半桥 / 高低边驱动芯片系列,以高可靠性、低温漂、大驱动电流 为主要特性,输出开关节点 dv/dt 可达 100V/nS。高低侧通道相互独立,允许同时导通。 关于 中高压半桥 / 高低边驱动芯片: 中高压半桥/高低边驱动芯…

mybatis 跨库查询 mysql

跨库,表关联的查询,实现起来很简单: select a.uid from ucenter.user a , database user_profile b where a.uid b.uid;只要在表的前边加上库名即可。 这个是我项目中xml 中的一个例子,项目采用的是springmvc,持久层框架就是my…

MySQL:MySQL索引结构为什么选用B+树?

一、前言 当我们发现SQL执行很慢的时候,自然而然想到的就是加索引。在MySQL中,无论是Innodb还是MyIsam,都使用了B树作索引结构。我们知道树的分类有很多,MySQL中使用了B树作索引结构,这是为什么呢? 本文将从…

如何用易查分制作扫码签到,支持在线签名,一键导出名单!

学校在开展培训讲座、研讨会等活动会议时,通常都需要参会人在纸质名单上签字表示到场。负责人不仅要耗费大量人力引导签到,如果人数众多,场面混乱,签到效率会十分低下。 易查分能够制作安全、高效的二维码签到系统,参会…

游泳带什么防水耳机好?甄选四大顶尖游泳耳机推荐,最值入手!

在享受游泳的同时,搭配一款优秀的防水耳机,能够让您的游泳体验更加完美。然而,市面上琳琅满目的防水耳机品牌,让人难以选择。作为一名游泳爱好者,我深知选购一款合适的防水耳机的重要性。因此,我自费购买了…

MHD093C-058-PG1-AA具备哪些特点?

MHD093C-058-PG1-AA是一种高性能的伺服电机控制器。 该产品具备以下特点: 高精度与高性能:MHD093C-058-PG1-AA设计用于提供精确的运动控制和定位,适用于需要高精度定位和控制的场合。快速响应:采用先进的控制技术,确…

高血压患者可以吃什么?不可以吃什么?

点击文末领取揿针的视频教程跟直播讲解 随着生活水平的提高,越来越多的人得上了“新四高”——高血压、高血脂、高血糖、高尿酸。 一旦惹上这些慢性病,那就得「管住嘴」了~但究竟什么能吃、什么不能吃,还是有很多人不清楚 高血压患者应该遵…

2024/5/14 英语每日一段

“It is important as it suggests that possibly several populations in the world already started to include substantial amount of plants in their diet” in the period before agriculture was developed, a view contradictory to the popular one, added archeo-ge…

【C#】 SortedDictionary,查找字典中是否存在给定的关键字

欢迎来到《小5讲堂》 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景场景说明红黑树原理判断代码Dictionary知识点相关文章 背景 最近…

ICode国际青少年编程竞赛- Python-5级训练场-多参数函数

ICode国际青少年编程竞赛- Python-5级训练场-多参数函数 1、 def go(a, b):Spaceship.step(2)Dev.step(a)Spaceship.step(b)Dev.turnRight()Dev.step(b)Dev.turnLeft()Dev.step(-a) Dev.turnLeft() Dev.step(3) Dev.step(-3) go(3, 2) go(6, 1) go(5, 2) go(4, 3)2、 def go(…

高校普法|基于SSM+vue的高校普法系统的设计与实现(源码+数据库+文档)

高校普法系统 目录 基于SSM+vue的高校普法系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3律师功能模块 4学生功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获…

RockChip Android8.1 EthernetService分析

一:概述 本篇文章将围绕RK Android8.1 SDK对Ethernet做一次框架分析,包含Framework层和APP层。 当前版本SDK默认只支持一路Ethernet,熟悉Ethernet工作流程后通过修改最终会在系统Setting以太网中呈现多路选项(可以有多种实现方式),博主通过增加ListPreference实现的效果…

[FSCTF 2023]ez_php1

一共有三小关 第一关&#xff1a;md5加密 第二关&#xff1a;反序列化 重点 单个字符串序列化 unserialize($str) "$KEY" <?php $KEY"YES I love";echo serialize($KEY); s:10:"YES I love"; 第三关&#xff1a; 反序列化 把a的地址赋给…

26版SPSS操作教程(高级教程第二十一章)

目录 前言 粉丝及官方意见说明 第二十一章一些学习笔记 第二十一章一些操作方法 信度分析 问卷信度分析 假设数据 具体操作 结果解释 下面进行进一步分析 结果解释 其他常用信度系数介绍 概化理论SPSS中的实现 结果解释 项目反应理论&#xff08;item respons…

学校为何更热衷于使用SOLIDWORKS教育版教学

在当今的教育环境中&#xff0c;SOLIDWORKS教育版因其独特的优势&#xff0c;越来越受到学校的青睐。为什么学校更热衷于使用SolidWorks教育版进行教学呢&#xff1f;本文将从以下几个方面进行阐述。 首先&#xff0c;SOLIDWORKS教育版为学生们提供了一个与实际工程应用紧密结…