spark sample

编程入门 行业动态 更新时间:2024-10-28 02:30:27

<a href=https://www.elefans.com/category/jswz/34/1769717.html style=spark sample"/>

spark sample

目录

    • spark sample 功能
    • 案例演示

spark sample 功能

随机抽样
该函数有3个参数

  •   -withReplacement 是否抽样放回true 抽样放回false 不放回
    
  •   -fractionwithReplacement=true情况下 表示期望每一个元素出现的次数withReplacement=false情况下 表示RDD中每一个元素出现的概率[0,1]
    
  •   -seed 抽样算法初始值(即随机数种子)一般不需要指定
    

案例演示

需求:有一个RDD,里边存放了1 2 3,三个数字,现从这个三个数字中进行随机抽取

第一种抽取方式:抽样后放回,并且期望每个数字被抽取到的几率为2次
第二种抽取方式:抽样后不放回,期望每一个数字被抽取到的几率为0.6

package com.xcu.bigdata.spark.core.pg02_rdd.pg022_rdd_transformimport org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}/*** @Package : com.xcu.bigdata.spark.core.pg02_rdd.pg022_rdd_transform* @Desc :   *       -withReplacement 是否抽样放回*            true 抽样放回*            false 不放回*       -fraction*            withReplacement=true情况下 表示期望每一个元素出现的次数*            withReplacement=false情况下 表示RDD中每一个元素出现的概率[0,1]*       -seed 抽样算法初始值(即随机数种子)一般不需要指定*/
object Spark07_Rsample {def main(args: Array[String]): Unit = {//创建配置文件val conf: SparkConf = new SparkConf().setAppName("Spark07_Rsample").setMaster("local[*]")//创建SparkContext,该对象是提交的入口val sc = new SparkContext(conf)//创建RDD,RDD中有1 2 3val rdd: RDD[Int] = sc.makeRDD(1 to 3)/*从上述RDD中抽取数据,抽样后放回fraction = 2表示期望每一个数字被抽取到的几率为2次,但实际上每一个数字不可能百分之百被抽取到2次抽样结束时,可能会有n个数字,例如第一次抽取 5个数字,第二次 1个数字,第三次 7个数字*/val resRDD1: RDD[Int] = rdd.sample(withReplacement = true, fraction = 2)//打印输出resRDD1.foreach(println)println("************************************")/*抽样后不放回,期望每一个数字出现的几率为0.6抽样结束时,可能会有n个数字,例如第一次抽取 5个数字,第二次 1个数字,第三次 7个数字*/val resRDD2: RDD[Int] = rdd.sample(withReplacement = false, fraction = 0.6)//打印输出resRDD2.collect().foreach(println)//释放资源sc.stop()}
}

更多推荐

spark sample

本文发布于:2023-07-28 17:48:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1267058.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:spark   sample

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!