Pyspark Pypark concat多个柱,聚结不起作用

Pyspark Pypark concat多个柱,聚结不起作用,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,下面的代码抛出列not iterable错误 代码: df = spark.createDataFrame([('abcd', '123')], ['s', 'd']) df.select(concat_ws('', coalesce(df.s, "sometext"), coalesce(df.d, "sometext")).alias('sd')).show() concat_ws要求将分隔符作为第一个参数,请参阅。因此,如果不想使用分隔符,可以执行以下操作: df.select(conc

下面的代码抛出列not iterable错误

代码:

df = spark.createDataFrame([('abcd', '123')], ['s', 'd'])
df.select(concat_ws('', coalesce(df.s, "sometext"), coalesce(df.d, "sometext")).alias('sd')).show()

concat_ws
要求将分隔符作为第一个参数,请参阅。因此,如果不想使用分隔符,可以执行以下操作:

df.select(concat_ws('',df.s, df.d).alias('sd')).show()

希望这有帮助

基本上,我需要使用
coalesce
concat_ws内的每一列
concat_ws
如果值为空并给出一些默认值,我将更改我的问题。请现在检查,如果可能或不可能,我想你可以做
df.select(F.concat_ws('',F.coalesce(df.s,F.lit(“sometext”)),F.coalesce(df.d,F.lit('hi'))。alias('sd')。show()
因为函数需要列。请以后不要改变你的问题;如果解决了一个问题,最好关闭一个问题,然后为新问题打开一个新问题。无论如何,希望这能有所帮助。@Florian,我有一个类似的问题,提前谢谢!