如何合并SparkSQL数据帧中的两列?

时间:2017-09-30 22:39:23

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

我有一个Spark SQL数据框,如下所示:

df.select("FirstName","F_Name","Dept").show()

FirstName|F_Name|Dept
---------------------
Alfred   |null  |c1
null     |Jarvis|c2
Jeeves   |null  |c1

我希望能够合并FirstName和F_Name,以便我可以拥有一个如下所示的表:

Name  |Dept
-----------
Alfred|c1
Jarvis|c2
Jeeves|c1

我尝试使用coalesce,但没有工作:

df.select("coalesec(FirstName,F_Name) as Name","Dept").show() 

PySpark或Scala这样做的方式会有很大帮助。

非常感谢。

1 个答案:

答案 0 :(得分:2)

coalesce功能正是您正在寻找的功能

df.select(coalesce(df.col("FirstName"),df.col("F_Name")).alias("Name"), df.col("Dept")).show()