我是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 回答
尝试在采样之前对不同的id rdd进行排序 . 可能发生每次运行之间id的顺序不同,因此采样结果不同 .