ZBLOG

// 计算每日点AQI值和相对应的首要污染物与空气质量等级 val resultArray = dataArray.map{ row => val data = row.getString(0) // 读取第一列监测时间数据 val concentration_SO2 = row.getDouble(1) // 读取SO2浓度 val concentration_NO2 = row.getDouble(2) // 读取NO2浓度 val conc...

根据你提供的代码,我看到你正在使用 Spark 创建一个 DataFrame。从代码中可以看出,你已经将结果转换为了一个 RDD,并且定义了需要的字段和结构类型。

然而,在创建 DataFrame 时出现了问题。请确保 resultArray 中的元素类型与定义的 schema 相匹配。在你的代码中,resultArray 的每个元素是一个四元组 (data, AQI, primaryPollutant, airQualityLevel),其中 data 是字符串,AQI 是整数,primaryPollutantairQualityLevel 都是字符串。

首先,我们需要将 resultArray 转换成 RDD[(String, Int, String, String)] 的形式。这样,DataFrame 将会有正确的列类型。

val resultRDD = spark.sparkContext.parallelize(resultArray) // 不需要调用 toSeq() 方法

val resultDF = spark.createDataFrame(resultRDD)
                      .toDF("日期", "AQI", "首要污染物", "空气质量等级")

这样修改后的代码应该能够成功创建 DataFrame。希望对你有所帮助!如有其他问题,请随时提问。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=4767

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?