How to explode space-separated column?

2019-02-20 21:32发布

问题:

I have a sample dataframe in Spark Scala which contains one column and many other columns 50+ and need to explode id :

example data:

id             name   address
234 435 567    auh    aus
345 123        muji   uk

output data:

id             name   address
234            auh    aus
435            auh    aus
567            auh    aus
345            muji   uk
123            muji   uk

回答1:

Try this:

import org.apache.spark.sql.functions._

scala> df.withColumn("id", explode(split($"id", " "))).show
+---+----+-------+
| id|name|address|
+---+----+-------+
|234| auh|    aus|
|435| auh|    aus|
|567| auh|    aus|
|345|muji|     uk|
|123|muji|     uk|
+---+----+-------+