Apache spark pyspark-如何在withColumn中添加express

Apache spark pyspark-如何在withColumn中添加express,apache-spark,pyspark,Apache Spark,Pyspark,我想添加一个新列,它是两个现有列的合并,我正在使用以下查询:这个查询有什么问题?我在新列中看到“null” df.select(df['DEST_COUNTRY_NAME'],df['ORIGIN_COUNTRY_NAME']).withColumn("COMPLETE_PATH",df['DEST_COUNTRY_NAME'] + ",").filter(df['DEST_COUNTRY_NAME']=='Egypt').show() +-------

我想添加一个新列,它是两个现有列的合并,我正在使用以下查询:这个查询有什么问题?我在新列中看到“null”

df.select(df['DEST_COUNTRY_NAME'],df['ORIGIN_COUNTRY_NAME']).withColumn("COMPLETE_PATH",df['DEST_COUNTRY_NAME'] + ",").filter(df['DEST_COUNTRY_NAME']=='Egypt').show()

+-----------------+-------------------+-------------+
|DEST_COUNTRY_NAME|ORIGIN_COUNTRY_NAME|COMPLETE_PATH|
+-----------------+-------------------+-------------+
|            Egypt|      United States|         null|
|            Egypt|      United States|         null|
|            Egypt|      United States|         null|
|            Egypt|      United States|         null|
|            Egypt|      United States|         null|
|            Egypt|      United States|         null|
+-----------------+-------------------+-------------+
尝试:


为什么需要使用这些函数而不是常规python函数?是的。您使用的是spark数据帧,而不是pandas数据帧。因此,您的数据帧由spark处理,spark使用scala语言,该语言使用JVM。。。因此,如果您想使用python简单函数/语法,您需要创建一个UDF。
import org.apache.spark.sql.functions.concat
...
df.withColumn(concat(col("DEST_COUNTRY_NAME"), lit(",")))