且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何将Spark数据帧中的WrappedArray列转换为Strings?

更新时间:2023-11-18 21:21:34

WrappedArray不是Array(这是普通的旧Java Array而不是natve Scala集合).您可以将签名更改为:

WrappedArray is not an Array (which is plain old Java Array not a natve Scala collection). You can either change signature to:

import scala.collection.mutable.WrappedArray

(arrayCol: WrappedArray[String]) => arrayCol.mkString(",")

或使用像Seq这样的超类型之一:

or use one of the supertypes like Seq:

(arrayCol: Seq[String]) => arrayCol.mkString(",")

在最新的Spark版本中,您可以改用concat_ws:

In the recent Spark versions you can use concat_ws instead:

import org.apache.spark.sql.functions.concat_ws

df.select(concat_ws(",", $"arrayCol"))