(保姆级)Spark气象监测数据分析-步骤3.1分析SO2浓度与NO2浓度的关系;分析PM10/PM2.5浓度与空气湿度的关系;分析O3浓度与云量的关系

本文通过Spark进行气象监测数据分析,详细介绍了如何计算SO2与NO2、PM10与空气湿度、O3与云量之间的皮尔逊和斯皮尔曼相关系数。结果显示,SO2与NO2的皮尔逊相关系数为0.41,PM10与空气湿度的皮尔逊相关系数为-0.41,而O3与云量的斯皮尔曼相关系数仅为0.04,关联性不明显。
摘要由CSDN通过智能技术生成

目录

 写在前面的话

需要的前瞻知识

用到的软件版本

数据集

代码原理(比较重要)

部分代码

Task4函数的代码(主要部分)

 主函数代码

运行spark

导包

一些Spark信息的和schema的导入

如果spark链接报错

运行结果

 总纲

(保姆级)Spark气象监测数据分析-总纲

写在前面的话

首先这篇博客绝对原创。读者遇到编程中的任何问题可以留言,看到了就会回

需要的前瞻知识

这篇博客是假设读者都是已经安装好了Hadoop,Spark,以及对idea插件等,如果在安装这些大数据软件遇到了困难可以根据版本号在CSDN里搜对应的大数据软件安装

用到的软件版本

Hadoop2.7.7;Java1.8.0;sbt1.4.0;Spark2.4.0;Hive2.1.1;ZooKeeper3.5.10;Python3.7.9

数据集

数据集

也可点击下面的链接

链接:https://pan.baidu.com/s/13T8IHjAjvbsvQtQ01Ro__Q?pwd=494j 
提取码:494j

代码原理(比较重要)

该部分数据分析使用res.csv,即污染物浓度的逐小时数据。其中使用到了Spark ML中计算皮尔逊相关系数的函数包,主要步骤如下:
(1)使用sql语句,从res.csv中选择SO2和NO2的逐小时浓度数据;
(2)保存其数据至csv文件,供后续可视化使用;
(3)使用describe函数,计算其数量、均值、标准差以及最值;
(4)将选择的数据映射为Double类型;
(5)使用Statistics.corr(SO2, NO2, "pearson")函数,计算其相关系数。
计算结果为:SO2浓度与NO2浓度的皮尔逊相关系数为0.41。

因为PM10浓度的变化与空气含水量密切相关,比如当相对湿度大于60%以上时, PM10颗粒会吸湿增大,所以该部分试图分析PM10浓度与空气湿度的关系。主要步骤参考上一部分:
(1)使用sql语句,从res.csv中选择PM10浓度和空气湿度的逐小时浓度数据;
(2)保存其数据至csv文件,供后续可视化使用;
(3)使用describe函数,计算其数量、均值、标准差以及最值;
(4)将选择的数据映射为Double类型;
(5)使用Statistics.corr(PM10, Air, "pearson")函数,计算其相关系数。
计算结果为:PM10浓度与空气湿度的皮尔逊相关系数为 -0.41。

因为云量及其云内液体的吸收对O3含量有一定影响,所以该部分试图对O3浓度与云量的关系进行分析,主要使用斯皮尔曼相关系数。主要步骤参考上一部分:
(1)使用sql语句,从res.csv中选择O3浓度和云量的逐小时浓度数据;
(2)保存其数据至csv文件,供后续可视化使用;
(3)使用describe函数,计算其数量、均值、标准差以及最值;
(4)将选择的数据映射为Double类型;
(5)使用Statistics.corr(O3, Cloud, "spearman")函数,计算其相关系数。
计算结果为:O3浓度与云量的斯皮尔曼相关系数为 0.04,关联性不高。

部分代码

对于代码我分成了几个部分,有部分代码和之前只有细微差别

Task4函数的代码(主要部分)
 def T
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值