sample算子
说明
- sample算子可以从大量的数据集中抽样,但是不能控制抽样的数目。
函数签名
代码示例
val conf: SparkConf = new SparkConf().setAppName(this.getClass.getName).setMaster("local[*]")
val sc = new SparkContext(conf)
val rdd: RDD[Int] = sc.makeRDD(1 to 10)
val resRDD: RDD[Int] = rdd.sample(false,0.6)
resRDD.foreach(println)
sc.stop()
takeSample
说明
函数签名
- withReplacement:true有放回抽样,false无放回抽样。
- num:抽样数量。
- seed:随机数种子。
val conf: SparkConf = new SparkConf().setAppName(this.getClass.getName).setMaster("local[*]")
val sc = new SparkContext(conf)
val rdd: RDD[String] = sc.makeRDD(List("张三", "李四", "王五", "赵大脚", "刘大胆", "赵铁柱"))
val name: Array[String] = rdd.takeSample(false, 1)
println(name.mkString(","))
sc.stop()