设为首页 加入收藏

TOP

spark练习——影评案例(三)
2019-08-15 00:11:42 】 浏览:319
Tags:spark 练习 影评 案例
ID, avg) val moviID_avg: RDD[(String, Double)] = Utils.ratingsRdd.map(x => (x._2, x._3.toDouble)).groupByKey() .map(x => (x._1, x._2.sum / x._2.size)) //关联movieID_year和moviID_avg (movieID, (year, avg)) ---> (year, (movieID, avg)) val year_mocvieID_avg: RDD[(String, (String, Double))] = movieID_year.join(moviID_avg) .distinct().map(x => (x._2._1, (x._1, x._2._2))) //(year, (movieID, avg)) ---> (year, Iterable((movieID, avg))) ---> (movieID, (year, topavg)) val year_movieID_topavg: RDD[(String, (String, Double))] = year_mocvieID_avg.groupByKey().map(x => { val list: List[(String, Double)] = x._2.toList.sortBy(-_._2) (list(0)._1, (x._1, list(0)._2)) }) //(movieID, (type, (year, topavg)) ---> (year, type, topavg) val year_type_topavg: RDD[(String, String, Double)] = Utils.movieRdd.map(x => (x._1, x._3)) .join(year_movieID_topavg).map(x => (x._2._2._1, x._2._1, x._2._2._2)).sortBy(_._1, false) //输出结果 year_type_topavg.foreach(println(_)) } }

 

首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇IntelliJ IDEA 历史版本下载地址 下一篇flink 常见问题整理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目