Вы можете определить функцию udf
для этого для генерации диапазона , а затем использовать функцию explode
, чтобы сделать их для разделения строк
import org.apache.spark.sql.functions._
def generateUdf = udf((column: Int)=> (1 to column).toArray)
df.withColumn("id", explode(generateUdf(col("id")))).show(false)
, который должен дать вам
+---+
|id |
+---+
|1 |
|2 |
|3 |
|4 |
+---+