Spark中的RDD示例

RDD SAMPLE如何在spark中工作?它的不同参数的功能是什么,即样本(withReplacement,fraction,seed) .

关于'withReplacement'和'seed'参数,我在网上找不到任何相关内容 . 请举例说明 .

回答(1)

2 years ago

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

使用替换采样是google搜索,例如https://www.ma.utexas.edu/users/parker/sampling/repl.htm . 简而言之,如果您使用替换品进行采样,则可以在样品中获得相同的元素两次,而无需更换,您只能获得一次 . 因此,如果您的RDD有[Bob,Alice和Carol],那么您的"with replacement"样本可以是[Alice,Alice],但没有替换样本不能有这样的重复 .