VectorAssembler не поддерживает Scala-конвертирование типа ScringType

У меня есть фрейм данных, содержащий строковые столбцы, и я планирую использовать его в качестве входных данных для k-средних с использованием spark и scala. Я конвертирую свои строковые столбцы в кадре данных, используя метод ниже:

 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())

когда я печатаю схему analysisData, преобразование выполняется правильно. но я получаю исключение:VectorAssembler не поддерживает тип StringType что означает, что мои значения все еще являются строками! Как я могу преобразовать значения, а не только тип схемы?

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос