我想串联我的数据框的列。我写了一个Udf来实现这一点,但是正如我所看到的,concat_ws
在传递Array[String]
时期望列。如何正确传递DataFrame的列?
val columns = salesDF.columns
val concatColumns = udf((arr: Seq[String]) => arr.mkString(" "))
salesDF.select(concat_ws(",", concatColumns(columns)))
答案 0 :(得分:2)
您只需将选择作为Array[Column]
传递即可:
import org.apache.spark.sql.functions.{col,concat_ws}
val selection = salesDF.columns.map(col)
salesDF.select(concat_ws(",", selection : _*))