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(true,3) //无放回抽样 val resRDD: RDD[Int] = rdd.sample(false,0.6) resRDD.foreach(println) sc.stop() takeSample 说明 从RDD数据集中取出指定数量的数据。 函数签名 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()