这个是我自己试的例子 。
val a = sc.parallelize( 1 to 20 , 3 )
val b = a.sample( true , 0.8 , 0 )
val c = a.sample( false , 0.8 , 0 )
println( "RDD a : " + a.collect().mkString( " , " ) )
println( "RDD b : " + b.collect().mkString( " , " ) )
println( "RDD c : " + c.collect().mkString( " , " ) )RDD a : 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20
RDD b : 1 , 2 , 2 , 3 , 3 , 4 , 4 , 6 , 7 , 9 , 9 , 10 , 12 , 14 , 14 , 15 , 16 , 17 , 17 , 17 , 18 , 18 , 18
RDD c : 1 , 2 , 4 , 5 , 8 , 10 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20我能得到的结论的只有 , withReplacement 为 true 的时候 ,返回的子集会有重复 , 为false , 返回的子集不会有重复
并且两者得到的子集大小( 去重的话 ) 都是 20 * 0.8 左右不过这些都是我自己观察到的 ,我想知道这个参数到底是什么用的 ?