Spark-水库抽样-根据抽样率确定每个分区的样本大小
/* * 输入:采样率,待采样的RDD * 输出:每个分区的样本大小(记录数) * 由采样率确定,每个分区的样本大小 */ def findNumPerPartition[T: ClassTag, U: ClassTag](sampleRate : Double, rddNum : RDD[T]): Int ={ //RDD总记录数 val numRdd=rddNum.count() //RDD的分区数 val numPartition=rddNum.partitions.size //样本总记录数 val numSample=rddNum.count()*sampleRate //每个分区准备抽样的样本记录数 val numSamplePerPartition=(numSample/numPartition).toInt (numSamplePerPartition) }
posted on 2019-01-04 17:04 moonlight.ml 阅读(331) 评论(0) 编辑 收藏 举报