oracle竖列的数据怎么变成一行
273
2022-08-25
【Spark-core】 RDD算子使用练习
【Spark-core】 RDD算子使用练习
根据以下数据集统计出每个月中国城市的 PM2.5总量
package SparkRDD.RDD算子.测验import org.apache.commons.lang.StringUtilsimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}import org.junit.Testobject Test { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local[6]").setAppName("PMTest") val sc = new SparkContext(conf) // 读取数据 val data = sc.textFile("src/main/scala/SparkRDD/Rdd算子/测验/fix_1.csv") // 处理数据 // 1.抽取列 // 并使用map算子转换数据形态为((年,月),PM2.5)的元组 val dataSplit = data.map(item => ((item.split(",")(26),item.split(",")(27)),item.split(",")(9))) // 2.清洗 // 2.1 过虑空的、nan val dataClean = dataSplit.filter(item => StringUtils.isNotEmpty(item._2) && !item._2.equalsIgnoreCase("NA")) // 2.2 转换数据类型 val dataInt = dataClean.map(item => ( item._1 , item._2.toInt) ) // 3.聚合 val dataReduce = dataInt.reduceByKey((curr, agg) => curr + agg ) // 4.排序 val dataSort = dataReduce.sortBy(item => item._2,ascending = false) dataSort.take(48).foreach(println(_)) // 5.关闭sc sc.stop() }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~