Я думаю, что у Spark нет функции для этого. Вы можете использовать пользовательскую функцию здесь zip
, например:
import spark.implicits._
def zipFunc: (Seq[String], Seq[String]) => Seq[String] = (x: Seq[String], y: Seq[String]) =>
x.zip(y).map{ case (xi, yi) => s"$xi $yi"}
val df = Seq(
(Seq("a","b","c"), Seq("d","5","6"))
).toDF("A","B")
df.printSchema()
val zipUDF = spark.udf.register("zipUdf", zipFunc)
df.withColumn("C", zipUDF($"A", $"B")).show()
печать:
+---------+---------+---------------+
| A| B| C|
+---------+---------+---------------+
|[a, b, c]|[d, 5, 6]|[a d, b 5, c 6]|
+---------+---------+---------------+