【发布时间】:2021-03-09 23:27:05
【问题描述】:
我在 spark scala 中尝试了一个非常基本的东西,但无法弄清楚。
我有这样的数据:
| col1 | col2 |
|---|---|
| John | 1 |
| Jack | 2 |
而且,我想实现这个:
| col1 | col2 |
|---|---|
| John | 1 |
| John | 0 |
| John | 2 |
| Jack | 2 |
| Jack | 1 |
| Jack | 3 |
也就是说,对于每一行,我想再创建两行,一个是val(col2)-1 和val(col2)+1。
我尝试使用explode,但不知道如何正确使用。
val exploded_df = df.withColumn("col2", explode($"col2" -1, $"col2", $"col2" +1 ))
然后,得到:
方法的参数太多explode: (e: org.apache.spark.sql.Column)org.apache.spark.sql.Column
【问题讨论】:
标签: scala apache-spark apache-spark-sql