Это именно то, что делает функция sliding
, которая доступна в mllib
Библиотека
// Import the mllib library
scala> import org.apache.spark.mllib.rdd.RDDFunctions._
import org.apache.spark.mllib.rdd.RDDFunctions._
scala> val rdd = spark.sparkContext.parallelize(Seq(1,2,3,4,5,6,7,8))
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[10] at parallelize at
<console>:29
scala> rdd.sliding(2,2).map(x => (x(0), x(1))).foreach(println)
(1,2)
(5,6)
(3,4)
(7,8)
Или лучше
rdd.sliding(2,2).map{case Array(x,y) => (x,y) }.foreach(println)
Надеюсь, это помогло!