大数据全系列 教程
1869个小节阅读:467.3k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
常见的获取TopN算子:
top算子:
takeOrdered算子:
xxxxxxxxxx
package com.itbaizhan.rdd.action
//1.导入类
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object RddTopTakeOrdered {
def main(args: Array[String]): Unit = {
//2.构建SparkConf对象,并设置本地运行和程序名称
val conf: SparkConf = new SparkConf().setMaster("local[1]").
setAppName("TakeOrdered")
//3.使用conf对象构建SparkContet对象
val sc = new SparkContext(conf)
//5.创建RDD对象
val rdd: RDD[Int] = sc.parallelize(List(5, 2, 1, 4, 3, 8, 6, 1))
//6.获取默认降序的top3
val top3: Array[Int] = rdd.top(3)
println("top3:"+top3.mkString(","))
//7.获取默认升序的top3
val takeOr3: Array[Int] = rdd.takeOrdered(3)
println("takeOr3:"+takeOr3.mkString(","))
//8.获取升序的top3
val top3r: Array[Int] = rdd.top(3)(Ordering.Int.reverse)
println("top3r:"+top3r.mkString(","))
//9.获取降序的top3
val takeOr3r: Array[Int] = rdd.takeOrdered(3)(Ordering.Int.reverse)
println("takeOr3r:"+takeOr3r.mkString(","))
//4.关闭sc对象
sc.stop()
}
}
实时效果反馈
1. 以下关于val rdd: RDD[Int] = sc.parallelize(List(5,2,1,4,3,8,6,1))
中rdd相关算子的描述正确的是:
A rdd.top(2)
获取降序排序后的Top2。
B rdd.takeOrdered(4)
获取升序排序后的Top4。
C rdd.takeOrdered(2)(Ordering.Int.reverse)
获取降序排序后的Top2。
D 以上三个选项都正确。
答案:
1=>D