0
我知道RDD有'sample'方法,它返回一個新的RDD,它包含隨機選擇的原始RDD的給定部分。但是,隨着每個元素被隨機選擇,新RDD的大小不確定。 還有'takeSample'方法,它返回RDD元素的輸入整數。但是,這會返回一個列表而不是新的RDD。Spark中是否有方法獲得RDD,RDD是另一個RDD的給定確切大小的隨機子集?
有沒有一種方法可以返回RDD與指定的確切數量的隨機選擇的元素?當然,我們可以使用takeSample並從中創建一個新的RDD,但這意味着在驅動程序和執行程序之間來回發送大量數據。
我將結合近似,尺寸略大。樣品(使用比例的.count)與一個簡單的.limit,以切斷目標大小以上的任何元素。如果你足夠接近你的目標大小,切斷一些零散的人應該不會對結果產生重大的統計影響。 –