分数在这里如何工作
我尝试在“:”之后更改值。仍然无法获取其工作原理?
from pyspark.sql.functions import col
dataset = sqlContext.range(0, 100).select((col("id") % 3).alias("key"))
sampled = dataset.sampleBy("key", fractions={0: 0.1, 1: 0.2}, seed=0)
sampled.groupBy("key").count().orderBy("key").show()
没有错误消息
答案 0 :(得分:0)
sampleBy和sample在内部使用Bernoulli sampling进行采样。数据集的所有成员都有相等但独立的机会成为结果的一部分。分数代表这次机会。对于小型数据集,您常常会得到奇怪的结果,并且可能认为它不是有用的函数,但是由于weak law的数量很大,因此概率收敛到大型数据集的期望值。 Spark适用于大型数据集。