元素我怎樣纔能有效地從字符串的RDD隨機選擇一個元素?獲得來自RDD
獲得來自RDD
回答
你需要使用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)
如果你想獲取相同的「隨機」的元素,您可以修復種子:
data.takeSample(false, 1, seed = 10L)
// res14: Array[Int] = Array(62)
data.takeSample(false, 1, seed = 10L)
// res15: Array[Int] = Array(62)
我們可以將System.nanoTime.toInt作爲種子嗎? –
你可以使用任何你喜歡的種子。然而種子很長,所以你應該給它一個。我不知道爲什麼@eliasah使用隨機種子,因爲它是[默認值](https://spark.apache.org/docs/1.5.2/api/scala/index.html#org.apache.spark .rdd.RDD)。 –
這是真的@mlk我不確定,因爲我在飛行中編寫代碼。 – eliasah
- 1. 獲得來自
- 2. 獲得來自NSURL
- 3. 獲得來自dimens.xml
- 4. 獲得來自Facebook
- 5. 獲得來自URL
- 6. 獲得來自ListFragment
- 7. 獲得來自mapView.SelectedAnnotations
- 8. 獲得來自URL
- 9. 獲得來自ext.data.store
- 10. 獲得來自gridview2
- 11. 獲得來自NSDictionaries
- 12. 獲得來自URL
- 13. 獲得來自jQuery的
- 14. 獲得來自AFNetworking 2.4.1
- 15. 獲得來自陣列
- 16. 獲得來自外部
- 17. 獲得來自意圖
- 18. 獲得來自陣列
- 19. 獲得來自的file_get_contents
- 20. 獲得來自控制器
- 21. 獲得來自陣列
- 22. 獲得來自陣列
- 23. 獲得來自陣列
- 24. 獲得來自陣列
- 25. 獲得來自PayPal沙箱
- 26. 獲得來自化身
- 27. 獲得來自用戶
- 28. 獲得來自陣列
- 29. 獲得來自陣列
- 30. 獲得來自指數
我做到了,在一些非無意義的方式通過映射RDD到zipWithIndex和使用隨機的。與計數洗牌和拾取索引 –
['takeSample'](https://spark.apache.org/docs/1.5.2/api/scala/index.html#org.apache.spark.rdd.RDD)? –