Я думаю, что вы хотите выполнить операцию "zip".Spark не предоставляет этот метод для Dataframes, но вы можете увидеть, как он работает, в следующем примере (версия Spark следует этому примеру):
scala> val l1 = List("a", "b")
l1: List[String] = List(a, b)
scala> val l2 = List(1,2)
l2: List[Int] = List(1, 2)
scala> val zipped = l1.zip(l2)
zipped: List[(String, Int)] = List((a,1), (b,2))
scala> zipped.foreach(println)
(a,1)
(b,2)
scala>
Как это сделать в Spark, здесь уже дан ответ: Как заархивировать два (или более) DataFrame в Spark
По сути, вы делаете это:
val zippedRDD = df1.rdd.zip(df2.rdd)
это оставит вам RDD, который вы можете конвертироватьв DF или DS по мере необходимости обычным способом.