【问题标题】:What is principle of Spark sample method with replacement?Spark 带替换采样法的原理是什么?
【发布时间】:2019-04-25 01:46:31
【问题描述】:

我正在研究 Spark,我有一个关于 sample() 方法的问题.. 你可能知道,sample() 有三个参数

sample( withReplacement : boolean, Fraction : Double, seed : Long )

当 withReplacement 为 True 时,我无法理解第二个 fraction

在Document中,表示每个元素替换提取的期望值。

如果我在分数中输入 2 并且 RDD 有 10 个元素,它如何在里面采样?原理是什么? (我知道它不能保证 20 的采样量)

请帮助我理解。

【问题讨论】:

    标签: scala apache-spark pyspark rdd


    【解决方案1】:

    使用替换 Spark is using PoissonSampler 实现采样。它从Poisson distribution 生成数字以确定采样器应该跳过多少项目,然后再产生新值。

    分数越高,泊松分布的 lambda 参数越低,换句话说,步长为 0 的概率越高,我们再次取相同的项目。

    图片来自WikipediaSkbkekas

    具体流程请参考sampler source code

    【讨论】:

      猜你喜欢
      • 2015-10-16
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多