首页 文章

.sample()返回Spark中固定随机生成器种子的不同结果

提问于
浏览
1

我是Spark的新手,我正在研究一些数据争论 . 从Spark中的RDD表中进行随机行选择时遇到问题 .

为了确保我每次从RDD表中选择的行都是相同的(这对我来说更容易检查后面的表连接是否正确),我预先指定随机看生成器 . 我用 .sample() . 这是代码:

val distinct_id = rddtable.select("id").distinct().sample(false, .00008, seed = 1453)

随机生成器种子设置为1453.但是,

distinct_id.show()

每次运行时都会显示不同的结果 .

就我在R和Python方面的经验而言,这是非常奇怪的 . 在R和Python中,如果我预先指定种子,随机生成器应该始终给我相同的结果 .

感谢您对此的帮助 .

1 回答

  • 1

    尝试在采样之前对不同的id rdd进行排序 . 可能发生每次运行之间id的顺序不同,因此采样结果不同 .

相关问题