大数据期末课设~基于spark的气象数据处理与分析

目录

      一 、项目背景 …………………………………… 3

      二 、实验环境 …………………………………… 3

三 、实验数据来源 …………………………….. 4

四 、数据获取 …………………………………… 5

五 、数据分析 ………………………………….. 17

六 、数据可视化 ………………………………… 21

七 、总结 ……………………………………… 23

 

天气情况与各个行业的经营发展有密不可分的关系,通时也与人们日常出行有一定的关联。当前天气预报技术主要利用先进的数据分析技术进行预测播报,但实际准确度与时效性依然无法满足当下社会需求。大数据时代的到来使得整个数据分析的过程更为科学合理,同时气象数据中隐含的价值被挖掘与应用,天气预报的应用意义得到进一步的开发。

天气预报的主要内容是一个地区或城市未来一段时期内的阴晴雨雪、最高最低温、风向和风力及特殊的灾害性天气。就中国而言,气象台准确预报寒潮、台风、暴雨等自然灾害出现的出现和强度,就可以直接为工农业生产和群众生活服务。随着生产力的发展和科学技术的进步,人类活动范围空前扩大,对大自然的影响也越来越大,因而天气预报就成为现代社会不可缺少的重要信息。

天气预报是根据气象观测资料,应用天气学、动力气象学、统计学的原理和方法,对某区域或某地点未来一定时段的天气状况作出定性或定量的预测。它是大气研究科学的一个重要目标。对人们生活有重要意义。

简而言之,气象数据的可视化是为了方便人们更直观的了解当前的天气情况,大大的降低了使用的困难程度,并且也降低了对于期限数据理解的难度。不管是对于使用者还是消费者来讲,都是一大利好。

  • 实验环境

(1)Linux:Ubuntu 16.04

(2)Python:3.9

(3)Spark:2.4.0

(4)Jupyter Notebook

安装完上述环境以后,为了支持Python可视化分析,还需要执行如下命令安装新的组件:

sudo apt-get install python3-matplotlib

 

sudo apt-get install python3-tk

 

  • 实验数据来源

本次实验所采用的数据,从中央气象台官方网站(网址:关注阴晴冷暖,气象一直为你)爬取,主要是最近24小时各个城市的天气数据,包括时间点(整点)、整点气温、整点降水量、风力、整点气压、相对湿度等。正常情况下,每个城市会对应24条数据(每个整点一条)。数据规模达到2412个城市,57888条数据,有部分城市部分时间点数据存在缺失或异常。限于本次大作业时间有限,没有办法全面分析这些数据,大作业中主要计算分析了各个城市过去24小时的平均气温和降水量情况。

  • 数据获取

1.观察数据获取方式

 

进入中央气象台官方网站(网址:关注阴晴冷暖,气象一直为你),任意点击左侧栏“热点城市”中的一个城市。打开谷歌(chrome)浏览器的Web控制台。通过切换“省份”和“城市”,我们可以发现,网页中的数据是以json字符串格式异步地从服务器传送。可以发现以下数据和请求URL的关系。

 

请求URL传回数据
http://www.nmc.cn/f/rest/province 省份数据
http://www.nmc.cn/f/rest/province/+省份三位编码 某个省份的城市数据

http://www.nmc.cn/f/rest/passed/+城市编号 某个城市最近24小时整点天气数据

由于省份三位编码(如福建省编码为“ABJ”)需要从省份数据获得中获得,城市编号需要从城市数据获得(如福州市编号为“58847”),所以为了获得各个城市最近24小时整点天气数据,依次爬取省份数据、城市数据、最近24小时整点数据。

2.数据爬取

由于可以直接通过访问请求URL,传回的响应的数据部分即是json格式的数据,所以只需要调用python的urllib2库中相关函数,对上述URL进行请求即可。不需要像平常爬取HTML网页时还需要对网页源码进行解析,查找相关数据。唯一需要注意的是,有些城市可能不存在或者全部缺失最近24小时整点数据,需要进行过滤,以免出错。

3.数据存储

虽然上一步获取的json数据可以直接存储并可使用SparkSession直接读取,但是为了方便观察数据结构、辨识异常数据、对数据增加部分提示信息,爬取后的数据进行了一些处理之后,保存成了csv格式,包括省份数据(province.csv)、城市数据(city.csv)、各个城市最近24小时整点天气数据(passed_weather_ALL.csv)。由于所有城市过去24小时整点天气数据数量太多,为了避免内存不足,每爬取50个城市的数据后,就会进行一次保存。

4.数据读取

因为各个城市最近24小时整点天气数据体量较大,每次爬取需要半小时以上,为了提高实验效率,只会进行一次数据爬取。此后会直接读取第一次实验数据。如果需要重新爬取数据,需要手动删除已有数据,即删除input文件夹下province.csv、city.csv、passed_weather_ALL.csv。

5.数据结构

最后保存的各个城市最近24小时整点天气数据(passed_weather_ALL.csv)每条数据各字段含义如下所示,这里仅列出实验中使用部分。

 

  

province 城市所在省份(中文)
city_index 城市序号(计数)
city_name 城市名称(中文)
city_code 城市编号
time 时间点(整点)
temperature 气温
rain1h 过去1小时降雨量

想要获取更多资源,请点击以下链接:

https://download.csdn.net/download/qq_53142796/87277310

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年12月23日
下一篇 2023年12月23日

相关推荐