我的问题是我有一个这样的表:
------------------------ A B C ------------------------ a1 b2 c1|c2|c3|c4
c1 | c2 | c3 | c4是一个由|分隔的值。
我的最终结果应如下所示:
--------- A B C --------- a1 b1 c1 a1 b1 c2 a1 b1 c3 a1 b1 c4
我该怎么做呢?
谢谢
这就是您可以执行的操作,使用管道将字符串拆分并使用spark函数爆炸数据
import org.apache.spark.sql.functions._ import spark.implicits._ val df = Seq(("a1", "b1", "c1|c2|c3|c4")).toDF("A", "B", "C") df.withColumn("C", explode(split($"C", "\\|"))).show
输出:
+---+---+---+ | A| B| C| +---+---+---+ | a1| b1| c1| | a1| b1| c2| | a1| b1| c3| | a1| b1| c4| +---+---+---+
希望这可以帮助!