spark 学习笔记 sample 算子

def sample(
      withReplacement: Boolean,
      fraction: Double,
      seed: Long = Utils.random.nextLong): RDD[T] = {
    require(fraction >= 0,
      s"Fraction must be nonnegative, but got ${fraction}")

输入参数:withReplacement、fraction,seed

返回: 数组集组成的RDD

withReplacement:表示抽出样本后是否在放回去,true表示会放回去,这也就意味着抽出的样本可能有重复

fraction :抽出多少,这是一个double类型的参数,0-1之间,eg:0.3表示抽出30%

seed:表示一个种子,根据这个seed随机抽取,一般情况下只用前两个参数就可以,那么这个参数是干嘛的呢,这个参数一般用于调试,有时候不知道是程序出问题还是数据出了问题,就可以将这个参数设置为定值

 

有放回取样0.001%
data.sample(true,0.00001).collect().foreach(println)

 

posted @ 2020-08-04 13:28  bioamin  阅读(1149)  评论(0编辑  收藏  举报