原理

sample将RDD这个集合内的元素进行采样,获取所有元素的子集。用户可以设定是否有放回的抽样、百分比、随机种子,进而决定采样方式。
参数说明:

withReplacement=true, 表示有放回的抽样;
withReplacement=false, 表示无放回的抽样。

每个方框是一个RDD分区。通过sample函数,采样50%的数据。V1、V2、U1、U2、U3、U4采样出数据V1和U1、U2,形成新的RDD。

源码

/*** Return a sampled subset of this RDD.*/
def sample(withReplacement: Boolean,fraction: Double,seed: Long = Utils.random.nextLong): RDD[T] = {require(fraction >= 0.0, "Negative fraction value: " + fraction)if (withReplacement) {new PartitionwiseSampledRDD[T, T](this, new PoissonSampler[T](fraction), true, seed)} else {new PartitionwiseSampledRDD[T, T](this, new BernoulliSampler[T](fraction), true, seed)}
}

上手使用

scala> val rdd = sc.makeRDD(1 to 100,2)
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[2] at makeRDD at <console>:27scala> rdd.sample(true,0.1,10).collect
res5: Array[Int] = Array(2, 4, 20, 20, 37, 70, 77)scala> rdd.sample(true,0.1,10).collect
res6: Array[Int] = Array(2, 4, 20, 20, 37, 70, 77)scala> rdd.sample(true,0.1,11).collect
res7: Array[Int] = Array(17, 19, 28, 35, 80, 94, 97)scala> rdd.sample(true,0.1,131).collect
res8: Array[Int] = Array(7, 9, 10, 21, 29, 38, 41, 55, 57, 61, 72, 74, 74, 87, 91)scala> rdd.sample(true,0.1,9).collect
res9: Array[Int] = Array(1, 19, 25, 28, 39, 60, 62, 77, 84, 88, 93,

RDD Transformation —— sample相关推荐

  1. Spark RDD Transformation

    RDD Transformation特点 lazy 只记录操作,不计算结果,类似于tensorflow中图的概念 转换 含义 map(func) 返回一个新的RDD,该RDD由每一个输入元素经过fun ...

  2. RDD -- Transformation算子分析

    RDD RDD(Resilient Distributed Datasets) ,弹性分布式数据集, 是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合 ...

  3. spark rdd Transformation和Action 剖析

    1.看到 这篇总结的这么好, 就悄悄的转过来,供学习 wordcount.toDebugString查看RDD的继承链条 所以广义的讲,对任何函数进行某一项操作都可以认为是一个算子,甚至包括求幂次,开 ...

  4. Spark RDD使用详解3--Value型Transformation算子

    处理数据类型为Value型的Transformation算子可以根据RDD变换算子的输入分区与输出分区关系分为以下几种类型: 1)输入分区与输出分区一对一型  2)输入分区与输出分区多对一型  3)输 ...

  5. RDD之四:Value型Transformation算子

    处理数据类型为Value型的Transformation算子可以根据RDD变换算子的输入分区与输出分区关系分为以下几种类型: 1)输入分区与输出分区一对一型  2)输入分区与输出分区多对一型  3)输 ...

  6. Spark学习之Spark RDD算子

    个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...

  7. spark的rdd的含义_Spark里边:到底是什么RDD

    RDD它是Spark基,它是最根本的数据抽象.http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf 它开着RDD文件.假设英语阅读太 ...

  8. RDD之一:总体介绍

    摘要 本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Datasets),它具备像MapReduce等数据流模型的容错特性,并且允许开发人员在大 ...

  9. Spark技术内幕:究竟什么是RDD

    RDD是Spark最基本,也是最根本的数据抽象.http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf 是关于RDD的论文.如果觉得英 ...

最新文章

  1. RDIFramework.NET ━ 9.5 组织机构管理 ━ Web部分
  2. 动态规划-装配线调度
  3. 第六届 蓝桥杯 省赛 Java B组 牌型总数
  4. 关于 app测试工具
  5. TypeError: 'dict' object is not callable
  6. ipython使用 python3,2019-04-29 python/ipython设置默认python3
  7. python缺少标准库_干货分享:Python如何自动导入缺失的库
  8. Javascript模块化编程(二)AMD规范(规范使用模块)
  9. poj 2503 Babelfish
  10. 如何对ado.net做比较好的封装?
  11. 一个房间里有4个小孩,2个戴黑帽,2个戴白帽
  12. 水系图一般在哪里找得到_真空排水系统在综合管廊工程中的应用探讨
  13. 21年大学统考计算机报名时间,2017年大学计算机基础试题题库及答案
  14. unity Font字体替换
  15. CWebBrowser 中处理回车相应的问题
  16. Glide的基本用法
  17. 创建React项目(入门保姆级)
  18. AToken全观:小米雷军也投区块链钱包 AToken有机会的
  19. 世界互联网大会|AI风口前的“大佬”众生相
  20. tf.nn.nce_loss 函数应用案例

热门文章

  1. ElasticSearch实战-日志监控平台
  2. 面向适航符合性的智能航电系统认证研究进展
  3. wifi Direct相关
  4. 移动APP产品原型设计工具
  5. 智慧树怎么导入教务系统的课_见证智慧成果,实践智慧共育
  6. 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级) 题解
  7. 4014基于邻接表的长度为k的简单路径的求解
  8. 3【Android 12】【WCT的应用】WindowOrganizerController
  9. Android输入系统(三)——InputReader的加工类型和InputDispatcher的分发过程(基于Android 13)
  10. AnyChart 8.1.0 New Crack-2021-05-19