Я делаю маленькие шаги в scala и искру, и я столкнулся с ошибкой, которую я не могу решить.
Я пытаюсь сопоставить файл csv с DF, но возвращает ошибка.
// Adding schema to RDDs - Initialization
import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder
import org.apache.spark.sql.Encoder
import spark.implicits._
case class Employee(name: String, age: Long)
val employeeDF = spark.sparkContext.textFile.("./employee.txt").map(_.split(",")).map(attributes => Employee(attributes(0), attributes(1).trim.toInt)).toDF()
employeeDF.createOrReplaceTempView("employee")
var youngstersDF = spark.sql("SELECT name,age FROM employee WHERE age BETWEEN 18 AND 30")
youngstersDF.map(youngster => "Name: " + youngster(0)).show()
При попытке сопоставить имя возвращает ошибку, как описано ниже:
Возвращенная ошибка:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 19.0 failed 1 times, most recent failure: Lost task 0.0 in stage 19.0 (TID 21, 192.168.0.122, executor driver): java.lang.NumberFormatException: For input string: "age"
Содержимое файла: имя , возраст Джон, 28 лет, Эндрю, 36 лет, Кларк, 22 года, Кевин, 42 года
Я погуглил, но не повезло с решениями / ответами.
Кто-нибудь может помочь?
С огромной благодарностью, Ксави