VectorAssembler unterstützt nicht den StringType-Typ scala spark convert

Ich habe einen Datenrahmen, der Zeichenfolgenspalten enthält, und ich plane, ihn als Eingabe für k-means unter Verwendung von spark und scala zu verwenden. Ich konvertiere meine Zeichenfolgenspalten des Datenrahmens mit der folgenden Methode:

 val toDouble = udf[Double, String]( _.toDouble) 
 val analysisData  = dataframe_mysql.withColumn("Event", toDouble(dataframe_mysql("event"))).withColumn("Execution", toDouble(dataframe_mysql("execution"))).withColumn("Info", toDouble(dataframe_mysql("info")))              
 val assembler = new VectorAssembler()
    .setInputCols(Array("execution", "event", "info"))
    .setOutputCol("features")
val output = assembler.transform(analysisData)
println(output.select("features", "execution").first())

wenn ich das analysisData-Schema drucke, ist die Konvertierung korrekt. aber ich bekomme eine ausnahme:VectorAssembler unterstützt nicht den StringType-Typ was bedeutet, dass meine Werte noch Strings sind! Wie kann ich die Werte und nicht nur den Schematyp konvertieren?

Vielen Dan