如何爆炸空间分隔的列?

时间:2017-12-07 21:31:50

标签: scala apache-spark apache-spark-sql

我在Spark Scala中有一个示例数据框,其中包含一列和许多其他50+列,需要爆炸ID:

示例数据:

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

输出数据:

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

1 个答案:

答案 0 :(得分:2)

试试这个:

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|
+---+----+-------+