Comment puis-je convertir une colonne WrappedArray dans une structure de données spark en Strings?
Je suis en train de convertir une colonne qui contient l'Array[String] à la Chaîne, mais j'ai toujours ce message d'erreur
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 78.0 failed 4 times, most recent failure: Lost task 0.3 in stage 78.0 (TID 1691, ip-******): java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to [Ljava.lang.String;
Voici le morceau de code
val mkString = udf((arrayCol:Array[String])=>arrayCol.mkString(","))
val dfWithString=df.select($"arrayCol").withColumn("arrayString",
mkString($"arrayCol"))
source d'informationauteur bdguy
Vous devez vous connecter pour publier un commentaire.
WrappedArray
n'est pas unArray
(qui est plain old JavaArray
pas un natve Scala collection). Vous pouvez changer la signature:ou utiliser l'un de la aux supertypes comme
Seq
:Dans les dernières versions de Spark vous pouvez utiliser
concat_ws
à la place:Le code du travail pour moi:
Dans votre cas,je suppose que c'est: