假设我有一行
+---+
| id|
+---+
| 4|
+---+
那么我如何根据列的值生成行
+---+
| id|
+---+
| 1 |
|---|
| 2 |
|---|
| 3 |
|---|
| 4 |
+---+
发布于 2018-12-11 14:36:27
您可以为其定义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 |
+---+
https://stackoverflow.com/questions/-100003050
复制相似问题