假设我有一行单行
+---+
| id|
+---+
| 4|
+---+
然后我如何根据列的值
生成行+---+
| id|
+---+
| 1 |
|---|
| 2 |
|---|
| 3 |
|---|
| 4 |
+---+
答案 0 :(得分:1)
您可以为定义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 |
+---+