json文件:
{"name":"cc", "age":18}
{"name":"qiqi", "age":19}
{"name":"xiaohei", "age":17}
继承UserDefinedAggregateFunction
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.Row
import org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}
import org.apache.spark.sql.types._
import org.apache.log4j.Level
import org.apache.log4j.Logger
object SparkSession_UDAF {
def main(args: Array[String]) {
Logger.getLogger("org").setLevel(Level.ERROR)
val spark = SparkSession.builder.
master("local")
.appName("spark session example")
.getOrCreate()
//进行转换之前,需要引入隐式转换规则
//import spark.implicits._
//这里的spark不是包名的意思,是sparkSession对象的名字
import spark.implicits._
//自定义聚合函数
//创