PySpark:如何在没有randomnize的情况下分割数据

时间:2016-02-24 05:28:58

标签: pyspark training-data

有可以随机化溢出数据的功能

trainingRDD, validationRDD, testRDD = RDD.randomSplit([6, 2, 2], seed=0L)

我很好奇是否有一种方法可以生成相同分区的数据(列车60 /有效20 /测试20)但没有randommize (我们只是说使用当前数据分割前60 =火车,下一个20 =有效,最后20个是测试数据)

有没有一种可能的方法来分割数据,类似于拆分而不是随机化?

1 个答案:

答案 0 :(得分:2)

这里的基本问题是,除非您的数据中有索引列,否则没有"第一行"和"下一行"在你的RDD中,它只是一个无序集。如果你有一个整数索引列,你可以这样做:

train = RDD.filter(lambda r: r['index'] % 5 <= 3)
validation = RDD.filter(lambda r: r['index'] % 5 == 4)
test = RDD.filter(lambda r: r['index'] % 5 == 5)