2017-01-22 62 views
1

RDD SAMPLE如何在火花中工作?它的不同参数的功能是什么,即样本(有更换,分数,种子)。Spark中的RDD样本

我找不到与'withReplacement'和'seed'参数有关的任何内容。请用一个例子来解释。

+2

[Apache Spark(Scala)中的简单随机采样和数据帧SAMPLE函数如何工作?](http://stackoverflow.com/questions/32229941/how-do-simple-random-sampling-and- dataframe-sample-function-work-in-apache-spark) – user7337271

回答

2

分数和种子很容易猜到 - 它们是你希望在你的样本中看到的元素的一部分(即.5的样本会给你一个包含一半元素的初始RDD的样本)。种子是随机数字生成器种子。这很重要,因为您可能希望能够为测试硬编码相同的种子,以便始终在测试中获得相同的结果,但是在prod代码中,将其替换为当前时间(毫秒)或来自良好熵源的随机数。

随着替代抽样是谷歌搜索,例如, https://www.ma.utexas.edu/users/parker/sampling/repl.htm。 简而言之,如果您使用替换进行采样,则可以在样本中获取相同的元素两次,并且不带替换您只能获取一次。因此,如果你的RDD有[Bob,Alice和Carol],那么你的“with replacement”样本可以是[Alice,Alice],但没有替换样本不能有这样的副本。

+0

感谢您的详细解释。 – SPram

+0

如果您完全回答您的问题,您通常会通过单击左侧的复选标记来接受答案。 –