栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark小练习

Spark小练习

统计出每一个省份每个广告被点击数量排行的Top3

val value = sparkContext.textFile("C:\BaiduNetdiskDownload\15.Spark\2.资料\data\agent.log")
//分割转换map  ( ( 省份,广告 ), 1 )
val value1 = value.map(line => {
  var datas = line.split(" ");
  (((datas(1), datas(4)), 1))
})
//    数据聚合 ( ( 省份,广告 ), sum )
val value2: RDD[((String, String), Int)] = value1.reduceByKey(_ + _)
//    聚合得数据转换 ( 省份, ( 广告, sum ) )
val value3 = value2.map({
  case ((str1, str2), str3) => {
    (str1, (str2, str3))
  }
})
//    分组
val value4: RDD[(String, Iterable[(String, Int)])] = value3.groupByKey()
//取前三名
var resultRDD = value4.mapValues(iter => {
  iter.toList.sortBy(_._2)(Ordering.Int.reverse).take(3)
})
// 7. 采集数据打印在控制台
resultRDD.collect().foreach(println)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/335806.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号