Apache spark 合并,合并spark数据框中的2列

Apache spark 合并,合并spark数据框中的2列,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我有两个不同的数据帧,我能够根据g_id将它们连接在一起。如下所示: df1 = dfx.join(df_gi, regexp_extract(trim(dfx.LOCATION), ".*/GDocs/([0-9]{1,5})/.*", 1) == df_gi.g_id, "inner")\ .select (dfx["*"], df_gi["G_Number2"]) 现在,dfx

我有两个不同的数据帧,我能够根据g_id将它们连接在一起。如下所示:

df1 = dfx.join(df_gi, regexp_extract(trim(dfx.LOCATION), ".*/GDocs/([0-9]{1,5})/.*", 1) == df_gi.g_id, "inner")\
                .select (dfx["*"], df_gi["G_Number2"])
现在,dfx daraframe有一个名为G_Number1的列,df_gi dataframe有一个类似的名为G_Number2的列,这两个列的组合解决了缺少的部分。。。这意味着一列有一些信息,另一列有一些。将两者结合在一起就是所需的输出

我如何在pyspark中实现目标??我尝试了concat函数。。但我离得太远了。
提前感谢您。

您可以使用
coalesce

import pyspark.sql.functions as f

df.withColumn('Output', f.coalesce('G_Number2', 'G_Number1'))

请注意,当两列都不为空时,这将优先排序
G_Number2
列,如果需要其他方式,只需切换两列的顺序即可。

谢谢。这太棒了。