import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.VoidFunction;
import java.util.Arrays;
import java.util.List;
/**
*sampleoperator(withReplacement,fraction,seed) 算子
*對RDD中的數據進行隨機采樣
* 第一個參數:boolean類型,表示產生的樣本是否可以重復
* 第二個參數:代表取樣的比例
* 第三個參數:代表一個隨機數種子,就是抽樣算法的初始值
*
*/
public class SampleOperator {
public static void main(String[] args){
SparkConf conf = new SparkConf().setMaster("local").setAppName("sample");
JavaSparkContext sc = new JavaSparkContext(conf);
List<String> list = Arrays.asList("w1","w2","w3","w4","w5","w6","w7","w8","w9","w10");
JavaRDD<String> listRdd = sc.parallelize(list);
JavaRDD<String> sampleRdd = listRdd.sample(false,0.5);
sampleRdd.foreach(new VoidFunction<String>() {
@Override
public void call(String s) throws Exception {
System.err.println(s);
}
});
}
}
微信掃描下圖二維碼加入博主知識星球,獲取更多大數據、人工智能、算法等免費學習資料哦!