sample 和takesample 区别
sample 参数中获取的是数据的比例
takesample 参数中 获取的是取样的个数
代码
ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(3);
list1.add(6);
JavaRDD<Integer> parallelize = sc.parallelize(list1);
parallelize.sample(false, 0.5).foreach(new VoidFunction<Integer>() {
@Override
public void call(Integer integer) throws Exception {
System.out.println(integer);
}
});
List<Integer> integers = parallelize.takeSample(false, 3);
for (Integer integer: integers){
System.out.println(integer);
}
结果1:
3
4
6
结果2:
1
3
6
本文介绍了Spark Java中用于数据采样的`sample`和`takesample`算子。`sample`参数接收的是比例值,而`takesample`则接收具体的取样数量。通过这两个方法,可以有效地从大规模数据集中抽取样本数据进行分析。
958

被折叠的 条评论
为什么被折叠?



