Spark Scala 分组排序取TopN
来源:互联网 发布:linux连接数 编辑:程序博客网 时间:2024/06/03 08:21
1.输入
c1 85c2 77c3 88c1 22c1 66c3 95c3 54c2 91c2 66c1 54c1 65c2 41c4 65
2.代码实现
import org.apache.spark.{SparkContext, SparkConf}/** * User:leen * Date:2017/10/18 0018 * Time:19:47 * 分组之后取出每组的TopN */object GroupTopN1 { def main(args: Array[String]) { val conf = new SparkConf().setAppName("GroupTopN1").setMaster("local") val sc = new SparkContext(conf) val lines = sc.textFile("C:\\Users\\leen\\Desktop\\group.txt") //拆分为Tuple2 val classScores = lines.map(line => (line.split(" ")(0), line.split(" ")(1).toInt)) //分组 val group = classScores.groupByKey() //针对分组对value排序,返回Tuple2 val groupSort = group.map(css => { val c = css._1 val ss = css._2 val sortScore = ss.toList.sortWith(_ > _).take(3) //降序,取Top3 (c, sortScore) }) //遍历输出 groupSort.foreach(v => { print(v._1 + " : ") v._2.foreach(ss => print(ss + "\t")) println() }) sc.stop() }}
3.输出结果
c2 : 91 77 66c3 : 95 88 54c4 : 65c1 : 85 66 65
4.JAVA版本参考地址:
Spark Java 分组排序取TopN
阅读全文
1 0
- Spark Scala 分组排序取TopN
- Spark Scala TopN分组排序
- Spark Java 分组排序取TopN
- 使用RDD解决spark TopN问题:分组、排序、取TopN
- Spark核心编程-分组取topN
- spark中实现分组取topN
- 第20课 :SPARK Top N彻底解秘 TOPN 排序(Scala)SPARK分组TOPN 算法(JAVA) 必须掌握!
- Spark--分组TopN
- 第20课 : SPARK分组TOPN 算法(Scala) 必须掌握!
- MySQL分组然后取每个分组中按照某些字段排序的topN条数据
- 使用Spark core和SparkSQL的窗口函数分别实现分组取topN的操作
- 使用Spark core和SparkSQL的窗口函数分别实现分组取topN的操作
- Spark RDD 二次分组排序取TopK
- Spark中实现分组取TOP N (Scala版本)
- hive 分组+组内排序 , 求topN
- hive 分组+组内排序 , 求topN
- Hive TopN+分组TopN
- Hive TopN+分组TopN
- 第7周项目4 队列数组
- 创建抽象类Transport
- 使用 CUBLAS 库给矩阵运算提速
- 【MySQL】并发控制
- 三层交换机实现路由功能配置示例与详解 (Cisco Packer Tracer 模拟器)
- Spark Scala 分组排序取TopN
- Vijos P1077 克隆龙
- CIA3 Sometimes Naive(莫比乌斯反演+积性函数前缀和)
- hive演示
- HDU 5270 ZYB loves Xor II 异或,贡献,双指针.
- INNER JOIN 数据库查询
- go 压缩文件操作
- Remove Duplicates from Sorted Array
- HDU 4300 Clairewd’s message (方法巧妙)