概念
import org.apache.spark.sql.SparkSession
object Udf {
def main(args: Array[String]): Unit = {
//准备环境
var session:SparkSession=SparkSession.builder().master("local[*]").appName("xiaobai").getOrCreate()
var sc=session.sparkContext
//加载不同数据源数据,生成分布式表
var name=session.read.textFile("data/name.txt")
//自定义一个UDF函数(SQL查询方式),函数名为smallToBig,功能为将小写字符串转换成大写字符串
session.udf.register("smallToBig",(s:String)=>s.toUpperCase())
name.createOrReplaceTempView("my_table")
session.sql("select value,smallToBig(value) as BigValue from my_table").show()
session.stop()
}
}
name.txt
zhangsan lisi wangwu zhaoliu
结果:



