Вы можете просто использовать cast
до integer
как
import org.apache.spark.sql.functions._
ds.withColumn("mark", $"mark".cast("integer")).show(false)
, который должен дать вам
+---+----+
|id |mark|
+---+----+
|1 |34 |
|2 |76 |
|3 |54 |
+---+----+
Надеюсь, ответ полезен
Обновление
Вы прокомментировали как
Но если в столбце есть какие-либо строковые значения, он становится нулевым, так как мы приводим к целому числу. я не хочу такого поведения
Так что я думаю, что ваш столбец оценки должен быть StringType()
, и вы можете использовать regexp_replace
import org.apache.spark.sql.functions._
ds.withColumn("mark", regexp_replace($"mark", "(\\.\\d+)", "")).show(false)