如何从字符串的RDD中随机有效地选择元素?
答案 0 :(得分:8)
您需要使用takeSample
。示例:
val data = sc.parallelize(Range(1,100))
// data: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[9] at parallelize at <console>:27
data.takeSample(false,1)
// res9: Array[Int] = Array(38)
data.takeSample(false,1)
// res10: Array[Int] = Array(72)
data.takeSample(false,1)
// res11: Array[Int] = Array(93)
如果您想要获取相同的&#34;随机&#34;你可以修复种子的元素:
data.takeSample(false, 1, seed = 10L)
// res14: Array[Int] = Array(62)
data.takeSample(false, 1, seed = 10L)
// res15: Array[Int] = Array(62)