上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin11天前

目录

      一 、项目背景 .......................................... 3

      二 、实验环境 .......................................... 3

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

四 、数据获取 .......................................... 5

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

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

七 、总结 ............................................. 23

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

 

  • 项目背景

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

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

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

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

    • 实验环境

      (1)Linux:Ubuntu 16.04

      (2)Python:3.9

      (3)Spark:2.4.0

      (4)Jupyter Notebook

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

      sudo apt-get install python3-matplotlib

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

       

      sudo apt-get install python3-tk

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

       

      • 实验数据来源

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

        • 数据获取

          1.观察数据获取方式

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

           

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

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

           

          请求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)每条数据各字段含义如下所示,这里仅列出实验中使用部分。

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

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

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

          province 城市所在省份(中文)

          city_index 城市序号(计数)

          city_name 城市名称(中文)

          city_code 城市编号

          time 时间点(整点)

          temperature 气温

          rain1h 过去1小时降雨量

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

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

网友评论

搜索
最新文章
热门文章
热门标签