Как генерировать строки в зависимости от значения столбца в spark? - PullRequest
0 голосов
/ 10 мая 2018

предположим, если у меня есть один столбец с одной строкой

+---+
| id|
+---+
|  4|
+---+

тогда как мне генерировать строки в зависимости от значения столбца

+---+
| id|
+---+
| 1 |
|---|
| 2 |
|---|
| 3 |
|---|
| 4 |
+---+

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете определить функцию 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  |
+---+
...