美文网首页
sample(withReplacement, fraction

sample(withReplacement, fraction

作者: yayooo | 来源:发表于2019-07-30 20:25 被阅读0次

sample(是否放回, fraction, seed)

  • withReplacement:true抽取放回,false抽取不放回。

  • fraction:
    1)false抽取不放回的情况下,抽取的概率(0-1)。
    0-全不抽
    1-全抽
    2)true抽取放回的情况下,抽取的次数。

  • seed:随机数种子。

package com.atguigu

import org.apache.spark.rdd.RDD
import org.apache.spark.{HashPartitioner, Partitioner, SparkConf, SparkContext}

object Trans {
  def main(args: Array[String]): Unit = {

    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("Spark01_Partition")
    //构建spark上下文对象
    val sc = new SparkContext(conf)

    val rdd: RDD[Int] = sc.makeRDD(1 to 10)
    val rdd1: RDD[Int] = rdd.sample(true,2)
    val rdd2: RDD[Int] = rdd.sample(false,0.5)
    val rdd3: RDD[Int] = rdd.sample(false,0.5,2)
    rdd1.collect().foreach(println)
    println("********")
    rdd2.collect().foreach(println)
    println("********")

    rdd3.collect().foreach(println)


    sc.stop()
  }
}

1
1
1
1
2
2
3
3
4
4
5
6
6
6
6
7
8
10
10
10
10
********
2
7
8
********
3
4
6
7
9


随机数种子固定之后,随机数也就变成了固定的一些数字。

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

import scala.util.Random

object Trans {
  def main(args: Array[String]): Unit = {

    val r1 = new Random(1000)
    for(i <- 1 to 10) {
      println(r1.nextInt(1000))

    }

    println("**************")

    val r2 = new Random(1000)
    for(i <- 1 to 10) {
      println(r2.nextInt(1000))
    }
    sc.stop()

  }
}

487
935
676
124
792
349
641
845
264
450
**************
487
935
676
124
792
349
641
845
264
450

相关文章

网友评论

      本文标题:sample(withReplacement, fraction

      本文链接:https://www.haomeiwen.com/subject/cxygrctx.html