我正在开发一个关于时间序列数据的预测模型。我在Spark中使用trainvalidationsplit来训练和验证我的模型,然后在不可预测的数据上进行测试。
实际上,在验证阶段,我需要根据输入RDD中的时间戳得到一个有序数据(考虑到我的RDD [timesoatmp,text])。我知道trainvalidationsplit使用randomsplit方法来调整我的训练数据。但是当我将trainigndata用于trainvalidationsplit时,我需要找到一种方法,当它将数据划分为训练和验证时,训练和验证应按时间戳排序。
我想知道是否有任何方法可以让radnomsplit在splitetd RDD中生成元素,以便以下面的方式进行排序。例如,我的RDD是(1,3,4,5,7,8),rdd.randomsplit(0.5,0.5)应该生成第一个RDD为(1,3,2),第二个生成为(7,5, 8)..每个拆分中的订单并不重要,但总体而言,第一次拆分中的ID(时间戳)应小于第二次拆分中的ID(时间戳)。