【发布时间】:2018-05-28 12:02:57
【问题描述】:
是否可以在对 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()
【问题讨论】:
标签: scala apache-spark