我已经阅读了很多关于Spark for RDD中的分层采样的内容。我在DataFrames中遇到了sample
,而RDD却有sampleByKey
。
sample
是否基于分层策略对数据进行采样?sampleByKey
。当我们来回转换DF-> RDD-> DF时,性能会降低吗?sample
和sampleByKey
之间的主要区别是什么?sample
还是RDD sampleByKey
? (我没有此文件的密钥)。 iFile = "/user/me/data.txt"
data = spark.read.format("csv").option("seq", "|").load(iFile)
data.sample(0.2) //20% sample.. that's approx 10M rows
和
iFile = "/user/me/data.txt"
data = spark.read.format("csv").option("seq", "|").load(iFile)
data.rdd.keyBy(x=>x(0)).sampleByKey(false, 0.2) //20% sample.. that's approx 10M rows