Можно ли выполнить собственную логику при группировке набора данных Spark?Вот пример простой печати в консоль, но я хотел бы, например, сохранить сгруппированные наборы данных (после выполнения дополнительных операций) в отдельные файлы.В моем примере печать «Привет» на консоли не работает.
// import spark.implicits._
case class Student(name: String, grade: String)
val students = sc.parallelize(Seq(
Student("John", "A"),
Student("John", "B"),
Student("Amy", "C")
)).toDF().as[Student]
def someFunc(key:String, values:Iterator[Student]): TraversableOnce[(String,Student)] = {
println("Hey") // HOW TO GET THIS DONE ?
return values.map(x => (key, x))
}
val groups = students.groupByKey(t => t.name).flatMapGroups(someFunc).show()