Такое поведение связано с тем, что преобразование фрейма данных в RDD может привести к строке с квадратной скобкой [] во всех элементах строки.
вы можете использовать приведенный ниже подход для получения фактического значения из каждой строки с помощью встроенных функций RDD .
someDF.select("number").show()
/*
+---------+
|number |
+---------+
| 8 |
| 64 |
| -27 |
+---------+ */
someDF.select("number").rdd.collect()
/* Array[org.apache.spark.sql.Row] = Array([8], [64], [-27]) */
someDF.select("number").rdd.collect().foreach {row => println(row(0).toString.toInt)}
/*
8
64
-27*/